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

Shell-Skript-Ausführungsrichtlinien für Neulinge

Frage :Was sind die grundlegenden Dinge, die ich wissen sollte, um ein Shell-Skript auszuführen? Wenn ich mein Shell-Skript ausführe, erhalte ich außerdem die Fehlermeldung „Permission denied“. Wie kann ich es beheben?

Antwort :Lassen Sie uns die 4 grundlegenden Dinge wiederholen, die Sie über die Ausführung eines Shell-Skripts wissen sollten.

1. Suchen Sie die ausführbare Shell-Datei und geben Sie sie als she-bang #!

ein

Geben Sie den vollständigen Pfad an, in dem die Shell installiert ist.

$ which sh
/bin/sh

(or)

$ which ksh
$ which bash

Sobald Sie den Speicherort der ausführbaren Shell-Datei identifiziert haben, geben Sie diese als shebang ( #! ) in der ersten Zeile der Shell-Skriptdatei an.

$ vim helloworld.sh

#!/bin/sh
echo "Hello World!"

2. Weisen Sie der Shell-Skriptdatei eine Ausführungsberechtigung zu

Wenn Sie keine Ausführungsberechtigung für das Skript haben, erhalten Sie die Fehlermeldung „Berechtigung verweigert“, wie unten gezeigt.

$ ./helloworld.sh
bash: ./helloworld.sh: Permission denied

Weisen Sie der Skriptdatei mit dem chmod-Befehl wie unten gezeigt die Ausführungsberechtigung zu.

$ chmod u+x helloworld.sh

Wenn Sie der Gruppe und anderen die Ausführungsberechtigung erteilen möchten, tun Sie dies wie unten gezeigt.

$ chmod 755 helloworld.sh

Hinweis: Sie können dies auch als automatischen Prozess durchführen. Das heißt, wann immer Sie eine Shell-Skriptdatei öffnen, können beide erforderlichen Dinge – das Hinzufügen des Shebangs und das Erteilen der Ausführungsberechtigung – automatisch mit dem Plugin bash-support.vim erfolgen. Weitere Informationen finden Sie in unserem früheren Artikel Machen Sie Vim zu Ihrer Bash-IDE mit dem Bash-Support-Plug-In.

3. Führen Sie das Skript aus, indem Sie den absoluten oder relativen Pfad angeben

Sie können ein Shell-Skript ausführen, indem Sie entweder den absoluten Pfad oder den relativen Pfad verwenden.

Führen Sie das Skript aus, indem Sie den absoluten Pfad wie unten gezeigt angeben.

$ /home/ramesh/scripts/helloworld.sh
Hello World!

Ausführen des Skripts durch Angabe des relativen Pfads wie unten gezeigt.

$ cd /home/ramesh/

$ ./scripts/helloworld.sh
Hello World!

(or)

$ cd /home/ramesh/scripts

$ ./helloworld.sh
Hello World!

4. Ausführen des Skripts wie ein normaler Linux-Befehl

Sie können ein Skript auch ausführen, ohne den vollständigen Pfad, den absoluten Pfad oder den relativen Pfad anzugeben. Um dies zu tun, fügen Sie das Verzeichnis, in dem sich alle Shell-Skripte befinden, wie unten gezeigt zu Ihrer PATH-Umgebungsvariable hinzu.

Sobald ich beispielsweise /home/ramesh/scripts zur PATH-Umgebungsvariablen hinzugefügt habe, kann ich das Skript von jedem Verzeichnis aus ausführen.

$ export PATH=$PATH:/home/ramesh/scripts

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/ramesh/scripts

$ cd /go/to/anydirectory

$ helloworld.sh
Hello World!

Linux
  1. Ssh – Shell-Skript zum Einloggen in einen SSH-Server?

  2. Zeitüberschreitung in einem Shell-Skript?

  3. Shell-Skript zum Verschieben der ältesten Dateien?

  4. Bestimmen des Pfads zum bezogenen Shell-Skript?

  5. Benötigen Sie eine Shell für SCP?

Shell im Script zur Laufzeit ermitteln?

Ausführungszeit des Shell-Skripts in Linux drucken

Zorin OS für Linux-Neulinge

So suchen Sie nach Dateien mit Regex im Linux-Shell-Skript

Transliterationsskript für die Linux-Shell

Verhindert Ansible die Ausführung von 'rm -rf /' in einem Shell-Skript