Ich habe eine Datei:
/Users/danylo.volokh/test/test_bash_script.sh
Der Inhalt ist sehr einfach:
#!/usr/bin/env bash
echo "-- print from script"
Ich bin im Ordner "danylo.volokh"
Dieser Befehl läuft gut:
Danilos-MacBook-Pro:~ danylo.volokh$ test/test_bash_script.sh
-- print from script
Aber wenn ich versuche, mit absolutem Pfad einzulaufen, erhalte ich eine Fehlermeldung:
Danilos-MacBook-Pro:~ danylo.volokh$ /test/test_bash_script.sh
-bash: /test/test_bash_script.sh: No such file or directory
Ich möchte einen Befehl mit absolutem Pfad aus einem beliebigen Ordner ausführen und das Skript ausführen lassen.
/Users/danylo.volokh/test/test_bash_script.sh
nicht/test/test_bash_script.sh
Antworten:
Ich möchte einen Befehl mit absolutem Pfad aus einem beliebigen Ordner ausführen und das Skript ausführen lassen.
Datei
/test/test_bash_script.sh
existiert nicht und kann daher nicht ausgeführt werden.Ein absoluter Pfad ist definiert als die Angabe des Speicherorts einer Datei oder eines Verzeichnisses aus dem Stammverzeichnis (
/
)./test
kann kein absoluter Pfad sein, da das Verzeichnis/test
nicht existiert (es ist ein Unterverzeichnis Ihres Home-Verzeichnisses).Sie haben zwei Möglichkeiten:
Verwenden Sie den richtigen absoluten Pfad zum Skript:
Verwenden Sie den Pfad, der auf Ihrem Basisverzeichnis basiert:
Was ist ein absoluter Weg?
Quell Absoluter Pfad vs. relativer Pfad in Linux / Unix
Quell- Unix / Linux-Pfadnamen (absolut, relativ, Punkt, Punkt Punkt)
quelle
.
einem absoluten Pfad hinzu?.
verweist auf das aktuelle Verzeichnis ... Bitte lesen Sie die Antwort sorgfältig und den Link in der Antwort.Der absolute Weg ist
/Users/danylo.volokh/test/test_bash_script.sh
nicht/test/test_bash_script.sh
. Bash ist dann richtig.quelle