Ich habe ein Skript doSmthin /usr/bin. Ist es möglich, das Verzeichnis abzurufen und auszudrucken, aus dem das Skript aufgerufen wurde ?
Also wenn ich doSmthvon /home/meder Ausgabe anrufe wird /home/me.
Ich habe ein Skript doSmthin /usr/bin. Ist es möglich, das Verzeichnis abzurufen und auszudrucken, aus dem das Skript aufgerufen wurde ?
Also wenn ich doSmthvon /home/meder Ausgabe anrufe wird /home/me.
Antworten:
Mit "Verzeichnis, aus dem es aufgerufen wurde" meinen Sie anscheinend das Arbeitsverzeichnis. Sie können dies innerhalb des Skripts mit z. B. ändern cd, aber bevor Sie dies tun, pwdwird es ausgedruckt. Es wird wahrscheinlich auch in der Variablen sein$PWD
Wenn Sie das ursprüngliche Arbeitsverzeichnis nach dem Ändern benötigen, speichern Sie es einfach oben in Ihrem Skript (bevor Sie es ändern).
#!/bin/bash
initial_wd=`pwd`
# ... do a lot of stuff ...
# ⋮
cd "$initial_wd"
Wenn Sie dies verwenden, um zu dem Verzeichnis zurückzukehren, in dem Sie begonnen haben, siehe auch pushdund popd.
cdzweimal verwendet haben)