Führen ein Shell-Skript aus, indem Sie nur den Skriptnamen in Linux verwenden

Yahya Irmak 30 Januar 2023
  1. Datei in Bash ausführbar machen
  2. Das Skript ohne Eingabe von bash oder sh ausführen
Führen ein Shell-Skript aus, indem Sie nur den Skriptnamen in Linux verwenden

In diesem Artikel wird erläutert, wie Sie ein Shell-Skript ausführen, indem Sie den Skriptnamen in Linux verwenden.

Zuerst werden wir die Datei als ausführbar festlegen. Als Nächstes untersuchen wir Möglichkeiten, das Skript nur mit dem Namen auszuführen.

Wir haben example.sh in $HOME/folder/example.sh. Hier ist der Inhalt der Shell-Skriptdatei.

echo "Hello, World!"

Datei in Bash ausführbar machen

  • Fügen Sie am Anfang des Skripts shebang hinzu.
#!/bin/bash
  • Fügen Sie der Datei die Berechtigung Ausführen hinzu.
sudo chmod +x example.sh

Datei ausführbar machen

Das Skript ohne Eingabe von bash oder sh ausführen

Wir können verschiedene Methoden verwenden, um ein Shell-Skript von überall im Linux-Terminal auszuführen, ohne die Befehle bash oder sh hinzuzufügen.

Verschieben Sie das Skript unter den $PATH

Verschieben Sie das Skript in ein Verzeichnis unter dem $PATH wie /usr/local/bin.

sudo mv $HOME/folder/example.sh /usr/local/bin 

Datei in Pfad verschieben

Verwendung von den Befehl install unter Linux

Der Befehl install kann das Skript auch in ein Verzeichnis unterhalb des $PATH verschieben.

sudo install example.sh /usr/local/bin/example

Sudo-Installationsbefehl

Hinzufügen des Skriptverzeichnisses zum $PATH

Fügen Sie das Skriptverzeichnis ($HOME/folder/) zu $PATH in .bashrc hinzu

PATH="$PATH:$HOME/folder/"

Verwenden Sie source, um Bash zu aktualisieren.

source ~/.bashrc

Ordner zum Pfad hinzufügen

Erstellen Sie einen alias für den Skriptausführungsbefehl

Erstellen Sie einen alias, der auf den vollständigen Befehl zum Ausführen des Skripts verweist.

alias example.sh="bash $HOME/folder/example.sh"

Pseudonym erstellen

Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn