bash script: prüfen ob man in richtigem verzeichnis ist?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Das Zeichen [ ruft das Unix Werkzeug test auf. Daher muss dort zwingend ein Leerzeichen eingebaut werden.

Hallo

bash script: prüfen ob man in richtigem verzeichnis ist?

Ich weiß ja nicht was für dich "richtig" ist, aber so sollte es klappen:

#!/bin/bash
if [ $(pwd) == "/home/$USER" ];
  then
    echo "Hallo $USER, Du bist Zuhause";
  else
    echo "Du befindest gerade in: $(pwd)";
fi

Linuxhase

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102
AUSGABE VON

heißt bei bash $() - also in deinem Fall $(pwd). Oder auch die hier `` links neben dem Backspace. Also in deinem Fall `pwd` - aber $() ist meistens besser lesbar.

Mir ist aufgefallen, dass hier nach [ und vor ] kein Leehrzeichen erscheint. Kann natürlich auch an dem gutefrage Code-Highlighter liegen, achte jedoch unbedingt darauf, dass du

if [LEERZEICHEN $(pwd) == "..." LEERZEICHEN ];

machst - sonst gibts komsiche Fehlermeldungen ;).


GWBln  24.01.2019, 08:10

Wichtig: unbedingt auch Leerzeichen links und rechts des Vergleichoperators. Falls fehlend: Zuweisung, die immer wahr ist. Ich verwende in der bash immer ein einfaches =, das reicht.

1