alias in if statement beim ersten Mal nicht erkannt

Barade

Barade

Kellerkind
Hallo,
ich möchte einige Bash-Befehle in einer Zeile ausführen:
Code:
if ! which bla ; then  alias bla='ls' ; echo hi ; fi ; alias ; bla
Komischerweise gibt "alias" nach dem if statement aus, dass das alias bla='ls' gesetzt ist. Dennoch findet die Bash den Befehl bla beim ersten Mal nicht. Beim zweiten Mal jedoch schon.
 
Code:
#! /bin/bash

[B]shopt -s expand_aliases[/B]

if ! which bla
then
        alias bla='ls'
        echo hi
fi

alias
which bla
bla
 
Danke, aber wann genau gilt es denn als interaktiv? Wieso geht es beim ersten Mal nicht, aber beim zweiten Mal schon?
Bekomme ich mit type das gleiche heraus wie mit which und warum ist es besser?
 

Ähnliche Themen

HandbrakeCLI Shell Skript

Bash Skript: [[: not found Fehler

Doppelte Dateien löschen.

Windows clients können nicht mehr auf lange laufendes System zugreifen

Falsche Rechte gesetzt beim Anlegen von Ordnern via Samba-Client

Zurück
Oben