Was genau ist der Befehl sh?

33

Ich kann nicht herausfinden, was der Befehl sh ist.

http://unixhelp.ed.ac.uk/CGI/man-cgi?sh

Führt es eine Datei aus?

wie bei Kater:

sh /usr/local/tomcat/bin/shutdown.sh

Entschuldigung, nur verwirrt.

user3183
quelle
1
@ Chopper3: Tags sind nicht dazu da, Ihre Meinung auszudrücken, Kommentare sind es.
ThatGraemeGuy

Antworten:

32

sh ist die Borowski-Shell .

Es gibt mehrere Shells, von denen bourne der alte Standard ist, der auf allen Unix-Systemen installiert ist und von denen Sie im Allgemeinen garantieren können, dass sie existieren.

Die Shell ist der Befehlsinterpreter, der Ihre Eingaben aufnimmt, die Ausgabe auf den Bildschirm zurückgibt, die richtigen Dateien usw. und alle grundlegenden integrierten Befehle bereitstellt, die Sie zum Verwalten von Aufträgen, zum Beenden, zum Testen von Ausdrücken usw. benötigen.

Ihr obiger Befehl besagt, dass Sie dieses Shell-Skript mit der Borowski-Shell ausführen sollen. Verschiedene Shells verwenden unterschiedliche Syntax, daher ist die Verwendung der richtigen Shell erforderlich. Die erste Zeile der Shell sollte auch definieren, was verwendet werden soll: #! / Bin / sh sagt use / bin / sh

Alex
quelle
3
Auf vielen Systemen (wie in Mac OS X) ist es heutzutage sheigentlich bashdie Bourne-again-Shell. Der Befehl sh --versionsagt noch eins. Es ist jedoch abwärtskompatibel mit der Bourne-Shell.
Arjan
6

sh ist die Borowski-Shell. /usr/local/tomcat/bin/shutdown.shist ein Shell-Skript. sh fileLäuft fileals Shell-Skript. Im Allgemeinen würde man nur das Ausführungsbit setzen und ausführen ./file.

user23307
quelle
ok, also gehe ich raus und ändere implizit meine Shell, um diesen Befehl auszuführen, ok, danke.
user3183
Technisch gesehen würden Sie das Skript ändern. Stellen Sie sicher, dass die erste Zeile wie folgt lautet: #! / Bin / bash, dann: chmod + x /usr/local/tomcat/bin/shutdown.sh, um sie ausführbar zu machen