Bash Script Peinlichkeit mit pwd

8

Ich habe ein seltsames Problem bei der Arbeit mit der Bash-Skriptsprache. Hier ist es:

%Vor%

Dieses Verhalten ist eine Art Lazy - $ PWD Store-Befehl, der das aktuelle Verzeichnis berechnet und es in dem Moment zurückgibt, in dem wir $ PWD aufrufen. Aber ich möchte Stringvariable darin speichern. Wie geht das?

    
Vasiliy Stavenko 24.09.2013, 00:49
quelle

2 Antworten

22

PWD ist eine Umgebungsvariable und wird geändert, wenn Sie das Verzeichnis ändern.

Verwenden Sie einen anderen Namen für die Variable,

zB:

%Vor%     
Toam 24.09.2013, 00:58
quelle
2

Versuchen Sie:

%Vor%

Oder:

%Vor%

Beide Ausdrücke führen den Befehl pwd aus und speichern die Befehlsausgabe in der Shell-Variablen PWD. Es gibt viele Diskussionen im Internet darüber, wann jeder Stil verwendet werden soll. Der einzige Punkt, an den ich mich erinnere, ist, dass der "$ (cmd)" - Ansatz das Verschachteln von Befehlen ermöglicht, z.

%Vor%

Bearbeiten - Mir ist gerade eingefallen, dass PWD eine eingebaute Shell-Variable ist, die immer auf das aktuelle Arbeitsverzeichnis erweitert wird.

    
EJK 24.09.2013 00:53
quelle

Tags und Links