Im Beispiel PWD= /bin/pwd
wird die Variable PWD
auf den leeren String gesetzt, bevor der Befehl /bin/pwd
ausgeführt wird. Die Änderung wird nur für diese Zeile wirksam.
Dies kann nützlich sein, um eine temporäre Änderung an einer Variablen zum Ausführen eines Befehls vorzunehmen, ohne den ursprünglichen Wert zu beeinflussen. Ein weiteres Beispiel hierfür wäre, wenn read
Verwendung einer anderen IFS
einzustellen:
IFS=, read a b c <<<"comma,separated,list"
Hier wird die Feldtrenn ein Komma, so dass a
, b
und c
korrekt gelesen werden. Nach dieser Zeile wird IFS
auf den Standardwert zurückgesetzt, sodass der Rest des Skripts nicht betroffen ist.
Vielleicht auf einigen Systemen, die Ausgabe des Befehls pwd
wird durch den Wert der Variablen PWD
, beeinflusst, so tun dies durch PWD
an anderer Stelle überschrieben verursacht Probleme verhindert.
haben Sie das Skript ausgeführt und sehen, was das PWD enthält?Es wird leer sein und das aktuelle Arbeitsverzeichnis wird beim Ausführen des Skripts angezeigt. – SMA
Ja, PWD wird leer – kaneda