Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So führen Sie ein Shell-Programm unter Linux aus

So führen Sie ein Shell-Programm unter Linux aus

王林
王林Original
2020-03-12 14:24:284577Durchsuche

So führen Sie ein Shell-Programm unter Linux aus

Schauen wir uns zunächst ein Programm test.sh an

#!/bin/sh
#this is a test.
cd /tmp
echo "hello,this is a test"

So führen Sie das Programm aus:

1 Da die Datei über ausführbare Berechtigungen verfügt, führen Sie die Datei direkt aus.

Der Befehl chmod wird verwendet, um die Berechtigungen von Dateien zu ändern.

+x macht die Datei ausführbar. Genauso wie wir das Programm oben ausgeführt haben.

(Empfohlenes Tutorial: Linux-Tutorial )

2. Rufen Sie direkt den Befehlsinterpreter auf, um das Programm auszuführen.

So führen Sie ein Shell-Programm unter Linux aus

Da unser Interpreter /bin/sh ist, verwenden wir den sh-Befehlsinterpreter, um das Programm auszuführen.

3. Verwenden Sie die Quelle, um die Datei auszuführen.

So führen Sie ein Shell-Programm unter Linux aus

Erklärung der Unterschiede bei der Programmausführung:

Unter den drei Methoden, die wir zum Ausführen von Shell-Programmen verwenden, sind die Ausführungsprozesse der ersten beiden Methoden wie folgt:

(1) Der übergeordnete Prozess empfing den Befehl und stellte fest, dass es sich nicht um einen integrierten Befehl handelte. Daher erstellte er einen Shell-Prozess wie seinen eigenen, um den externen Befehl auszuführen

(2) Dieser untergeordnete Shell-Prozess verwendet /bin /sh ersetzt sich selbst und der sh-Prozess legt seine eigenen laufenden Umgebungsvariablen fest, einschließlich der Variablen $PWD.

(3) Der sh-Prozess führt die integrierten Befehle cd und echo nacheinander aus. Während dieses Vorgangs werden die Umgebungsvariablen des sh-Prozesses (untergeordneter Prozess) durch den Befehl cd geändert.

(4) Nachdem der untergeordnete Prozess ausgeführt wurde, stirbt er. Der wartende übergeordnete Prozess wacht auf und akzeptiert weiterhin Befehle.

Wir verstehen also den Grund, warum die Ausführungsergebnisse der ersten beiden Methoden von unseren Erwartungen abweichen. Das aktuelle Verzeichnis (Umgebungsvariable) des übergeordneten Prozesses kann vom untergeordneten Prozess nicht geändert werden.

Wenn Sie jedoch die Quelle zum Ausführen eines Shell-Skripts verwenden, wird der untergeordnete Prozess nicht erstellt, sondern direkt im übergeordneten Prozess ausgeführt.

Empfohlene verwandte Video-Tutorials: Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo führen Sie ein Shell-Programm unter Linux aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn