Ich muss eine groovige Skriptdatei von bash ausführen und das Skript muss ein Arbeitsverzeichnis des Verzeichnisses haben, in dem es existiert.
Das heißt, in meinem Bash-Skript mache ich das:
%Vor% Aber das scheint das Arbeitsverzeichnis auf /etc/init.d
zu setzen, das Verzeichnis, von dem ich anrufe. Wie ändere ich das Arbeitsverzeichnis für dieses Skript zu /opt/script
?
Wenn Sie start-stop-daemon in Ihrem Skript /etc/init.d verwenden, können Sie den Parameter -d verwenden, um dies zu erreichen:
%Vor% In bash
funktioniert das am besten im Skript:
Dies wird auch mit dem folgenden Aufruf (von /path/to/script.sh
) erfolgreich sein:
wo HERE=$(dirname
fehlschlagen würde. pwd -P
)
Optional könnten Sie auch pwd
anstatt nur $HERE
verwenden, dann enthält man 3 realpath
den reellpath (kanonisierten absoluten Pfadnamen) von %code% .