GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie führe ich ein Bash-Skript über einen absoluten Pfad aus?

Ich möchte einen Befehl mit absolutem Pfad aus einem beliebigen Ordner ausführen und das Skript ausführen lassen.

Wenn ich versuche, mit absolutem Pfad einzulaufen, erhalte ich eine Fehlermeldung:

/test/test_bash_script.sh 
-bash: /test/test_bash_script.sh: No such file or directory

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 wie das Verzeichnis /test existiert nicht (es ist ein Unterverzeichnis Ihres Home-Verzeichnisses).

Sie haben zwei Möglichkeiten:

  1. Verwenden Sie den korrekten absoluten Pfad zum Skript:

    /Users/danylo.volokh/test/test_bash_script.sh
    
  2. Verwenden Sie den Pfad basierend auf Ihrem Home-Verzeichnis:

    ~/test/test_bash_script.sh
    

Was ist ein absoluter Pfad?

Ein absoluter Pfad ist definiert als die Angabe des Speicherorts einer Datei oder eines Verzeichnisses aus dem Stammverzeichnis (/ ).

Quelle Absoluter Pfad vs. relativer Pfad in Linux/Unix

Da Schrägstriche immer Namensbestandteile trennen, wird angenommen, dass das namenlose "ROOT"-Verzeichnis den Pfadnamen beginnt, wenn ein Pfadname mit einem Schrägstrich beginnt. Das ROOT-Verzeichnis hat keinen Namen. Es ist die Wurzel des gesamten Unix-Dateisystembaums.

Ein Pfadname, der mit einem Schrägstrich beginnt, wird als absoluter Pfadname bezeichnet, da er immer im ROOT beginnt.

Da es schwierig ist, über ein Verzeichnis zu sprechen, das keinen Namen hat, verwenden wir normalerweise (fälschlicherweise) den Namen "/" (Schrägstrich) für das ROOT-Verzeichnis Komponenten. Verstehen Sie, wenn wir "/" für ROOT verwenden, meinen wir wirklich "das namenlose ROOT-Verzeichnis, das links vom Schrägstrich steht", nicht den Schrägstrich selbst.

Quell-Unix/Linux-Pfadnamen (absolut, relativ, Punkt, Punkt Punkt)


Der absolute Pfad ist /Users/danylo.volokh/test/test_bash_script.sh , nicht /test/test_bash_script.sh . Da hat Bash recht.


Linux
  1. Ssh – Wie führe ich ein Skript sofort nach der Verbindung über SSH aus?

  2. Vollständigen Pfad aus Bash-Skript abrufen?

  3. So teilen Sie eine Zeichenfolge in Bash-Skript auf

  4. Wie erhalte ich das absolute Verzeichnis einer Datei in Bash?

  5. Führen Sie das Bash-Skript als Daemon aus

So führen Sie ein Bash-Skript aus {7 Methoden}

So führen Sie ein Python-Skript in PHP aus

Wie führe ich Linux-Bash-Befehle in einem PERL-Skript aus?

So führen Sie ein Bash-Skript aus

Führen Sie den Bash-Befehl auf der Jenkins-Pipeline aus

Wie führt man ein Bash-Skript aus?