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

Aktuelles Verzeichnis des Shell-Skripts?

Die meisten Antworten geben Ihnen den aktuellen Pfad und sind kontextsensitiv. Um Ihr Skript von einem beliebigen Verzeichnis aus auszuführen, verwenden Sie das folgende Snippet.

DIR="$( cd "$( dirname "$0" )" && pwd )"

Durch Wechseln der Verzeichnisse in einer Subshell können wir dann pwd aufrufen und erhalte unabhängig vom Kontext den korrekten Pfad des Skripts.

Sie können dann $DIR verwenden als "$DIR/path/to/file"


Das aktuelle (Anfangs-)Verzeichnis des Shell-Skripts ist das Verzeichnis, aus dem Sie das Skript aufgerufen haben.


Wie bereits erwähnt, ist der Speicherort der Ort, von dem aus das Skript aufgerufen wurde. Wenn Sie möchten, dass das Skript auf seinen Installationsort verweist, ist dies ganz einfach. Unten ist ein Ausschnitt, der das PWD und das installierte Verzeichnis ausdruckt:

#!/bin/bash
echo "Script executed from: ${PWD}"

BASEDIR=$(dirname $0)
echo "Script location: ${BASEDIR}"

Linux
  1. Zeitüberschreitung in einem Shell-Skript?

  2. Shell-Skript:Dateien in Verzeichnisse und Unterverzeichnisse sortieren?

  3. $pwd? (im Vergleich zum aktuellen Arbeitsverzeichnis)?

  4. Prozesse in einer Sitzung in einer interaktiven Shell oder in einem Skript?

  5. Wo wird ein Shell-Skript ausgeführt?

Abgekürztes aktuelles Verzeichnis in Shell-Eingabeaufforderung?

Wie führe ich einen Befehl in einem Shell-Skript aus?

Shell-Skript zum Drucken der Sternenpyramide

Shell-Skript parallel ausführen

Shell-Skript ändert Verzeichnis mit Variable

Fügen Sie dem Pfad ein Bash-Skript hinzu