mein System: Linux Mint 20.3 x86 64 Cinnamon 5.2.7 Kernel 5.4.0-109-generic
Hallo Linux-Profis
wen ich in der .bashrc eine zuvor erstellte Datei aurufen möchte (.bash_aliases) mit der Befehlszeile
if [ -f~/bash_aliases ]; then .~/.bash_aliases fi
bekomme ich im Teminal die Fehlermeldung
\”bash: .~/bash_aliases: Datei oder Verzeichnis nicht gefunden\”
Wer kann mir helfen den Fehler zu finden ? Vielen Dank im voraus..
Hallo,
Bei der Abfrage steht test -f ~/bash_aliases ([ ist ein alias für test ).
Aufgerufen werden soll dann aber ~/.bash_aliases.
Da muss also bei der Abfrage, ob die Datei vorhanden ist, noch ein Punkt vor bash_aliases. Zusätzlich würde ich aber nicht abfragen, ob die Datei vorhanden ist, sondern abprüfen, ob sie lesbaer ist.
Also sähe das dann so aus:
if [ -r ~/.bash_aliases ]
then
. ~/.bash_aliases
fi
Die Tilde kann nur von der bash und der ksh ausgewertet werden. Wenn eine Bourne-Shell (sh) eingesetzt wird, geht das Konstrukt nicht.
Viele Grüße
Jörg
Vielen Dank Jörg, hat geklappt. Nur ein Problem habe ich noch. Nachdem ich z.B.
alias up=’sudo apt update’
in die bash_aliases eingegeben habe kommt im Terminal die Fehlermeldung:
up: Befehl nicht gefunden.
was mache ich falsch?
Deine Hochkomma sind die Falschen.
Du musst die der Zweitbelegung der #-Taste verwenden.
Also:
alias up=’sudo apt update’
Danach prüfe mit dem Befehl alias ob der Eintrag zu den Aliasen hinzugefügt wurde.
Der Alias sollte in der ausgegebenen Liste zusammen mit eventuell bereits vorhanden Aliasen auftauchen.