Ich möchte ein Skript haben, das das aktuelle Arbeitsverzeichnis in eine Variable übernimmt. Der Abschnitt, der das Verzeichnis benötigt, sieht wie folgt aus: dir = pwd
. Es gibt nur pwd
aus. Wie bekomme ich das aktuelle Arbeitsverzeichnis in eine Variable?
dir=$(pwd)
Dies ist portabler und wird gegenüber der Backtick-Methode bevorzugt.
Die Verwendung von $()
erlaubt es Ihnen, die Befehle zu verschachteln
z.B.: mech_pwd=$(pwd; echo in $(hostname))
Sie müssen die Befehlssubstitution verwenden, um die Ausgabe des Befehls "pwd" in einer Variablen zu speichern. Die Befehlssubstitution kann Backticks oder Dollarzeichen verwenden. Zum Beispiel so:
$ mkdir "/tmp/new dir"
$ cd "/tmp/new dir"
$ CWD="$(pwd)"
$ echo $CWD
/tmp/new dir
$ cd ~
$ echo $CWD
/tmp/new dir
$ pwd
/home/ja