Vorwort Verschiedene Methoden zur Skriptausführung führen zu unterschiedlichen Ergebnissen, insbesondere in der Bash-Umgebung. Es gibt ungefähr die folgenden Möglichkeiten, ein Skript auszuführen. Schreiben Sie zunächst eine einfache test.sh-Datei: #!/bin/bash read -p "Bitte geben Sie Ihren Vornamen ein:" Vorname read -p "Bitte geben Sie Ihren Nachnamen ein:" Nachname echo -e "\nIhr vollständiger Name ist: $Vorname $Nachname" Ausführen mit sh test.sh Verwenden Sie sh test.sh, um die Skriptdatei auszuführen. Diese Methode gibt an, dass die Datei test.sh mit der sh-Shell ausgeführt wird. sh wurde durch bash ersetzt. Obwohl wir in test.sh deklarieren, dass #!/bin/bash zum Ausführen unserer Datei verwendet wird, funktioniert #!/bin/bash nicht mehr, wenn sh anstelle von bash verwendet wird. Führen Sie test.sh mit Bash aus Diese Methode entspricht im Prinzip eigentlich dem von sh test.sh, außer dass wir die Shell /bin/bash verwenden, um unsere Skriptdatei auszuführen. Sie können also tatsächlich auch dash test.sh‘ verwenden. Es hängt nur davon ab, welche Shell Sie zum Ausführen des Skripts verwenden möchten. Es gibt jedoch einige Unterschiede zwischen sh, bash und dash. Einige Schlüsselwörter wie let werden von bash unterstützt, während sh und dash dies nicht unterstützen. Verwenden Sie für einige Schlüsselwörter bash. Verwenden Sie point.Execute Bevor Sie diese Methode verwenden, müssen Sie der Datei Ausführungsberechtigungen hinzufügen: $ chmod +x test.sh Nachdem Sie die Ausführungsberechtigung hinzugefügt haben, können Sie ./test.sh verwenden, um das Skript auszuführen. Diese Methode ist dieselbe wie bash test.sh. Standardmäßig wird bin/bash verwendet, um unser Skript auszuführen. Nur diese Ausführungsmethode erfordert das Hinzufügen von Ausführungsberechtigungen zur Datei, bei anderen Methoden ist dies nicht erforderlich. Ausführen mit Quelle Mithilfe der Quelle können wir unser Skript auch direkt ausführen: Quelle test.sh Der Unterschied Wenn wir sh test.sh, bash test.sh und ./test.sh verwenden, um das Skript auszuführen, verwendet das test.sh-Skript eine neue Shell-Umgebung, um die Befehle im Skript auszuführen. Das heißt, wenn diese drei Methoden verwendet werden, wird das Skript tatsächlich in der Shell des untergeordneten Prozesses ausgeführt. Wenn der untergeordnete Prozess abgeschlossen ist, werden die Variablen und Operationen im untergeordneten Prozess beendet und nicht an den übergeordneten Prozess zurückgegeben. Sie können das nicht verstehen? ? Schauen Sie sich das folgende Beispiel an: [root@ubuntu] # bash test.sh Bitte geben Sie Ihren Vornamen ein: yao <==Vornamen eingeben Bitte geben Sie Ihren Nachnamen ein: pentonBin <==Nachnamen eingeben Ihr vollständiger Name ist: yao pentonBin [root@ubuntu] # echo $vorname <==Keine Ausgabe hier Was passiert, wenn Sie die Quellmethode zum Ausführen des Skripts verwenden? [root@ubuntu] # Quelle test.sh Bitte geben Sie Ihren Vornamen ein: yao <==Vornamen eingeben Bitte geben Sie Ihren Nachnamen ein: pentonBin <==Nachnamen eingeben Ihr vollständiger Name ist: yao pentonBin [root@ubuntu] # echo $vorname yao <== hier wird der Vorname ausgegeben Das heißt, die Quellmethode führt das Skript im übergeordneten Prozess aus und alle Vorgänge von test.sh werden in der ursprünglichen Shell wirksam. Aus diesem Grund müssen Sie source ~/.bashrc anstelle von bash ~/.bashrc verwenden, wenn Sie sich nicht vom System abmelden und möchten, dass einige in ~/.bashrc geschriebene Einstellungen wirksam werden. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Ausführliche Erklärung der Modi und Umgebungsvariablen in Vue CLI
>>: Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.24
Einführung in Vue und Vue-Router <script src=&...
Inhaltsverzeichnis Szeneneinstellung Spielressour...
In diesem Artikel wird der spezifische Code von j...
In diesem Artikelbeispiel wird der spezifische Co...
Vorwort Node wird als mittlere Schicht im Projekt...
1. PRIMARY KEY hinzufügen (Primärschlüsselindex) ...
Das Document Object Model (DOM) ist eine Plattfor...
Bei der Optimierung einer Website müssen wir lern...
Teil 1 Übersicht über die SSH-Portweiterleitung H...
Vorwort: Beim Übergeben von Daten zwischen überge...
Inhaltsverzeichnis 1. Einführung in das Verbindun...
Inhaltsverzeichnis 1. Objektmethoden definieren 2...
Bei der täglichen Wartung und Verwaltung von Webs...
Ich beschäftige mich seit über einem Jahr mit Java...
Vorwort: Wenn wir Dezimalzahlen speichern müssen ...