Qu'est-ce que la commande sh exactement?

33

Je n'arrive pas à comprendre ce qu'est la commande sh?

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

Exécute-t-il un fichier?

comme dans tomcat:

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

Désolé, juste confus.

user3183
la source
1
@ Chopper3: les balises ne sont pas pour exprimer votre opinion, les commentaires le sont.
ThatGraemeGuy

Réponses:

32

sh est la coquille de bourne .

Il existe plusieurs shells, dont bourne est l'ancien standard, installé sur tous les systèmes Unix, et généralement celui que vous pouvez garantir existera.

Le shell est l'interpréteur de commandes qui prend votre entrée, fournit une sortie à l'écran, aux fichiers corrects, etc., et fournit toutes les commandes intégrées de base dont vous avez besoin pour gérer les travaux, tuer, tester les expressions, etc.

Votre commande ci-dessus dit d'exécuter ce shell-script en utilisant le bourne shell. Différents shells utilisent une syntaxe différente, il est donc nécessaire d'utiliser le bon shell. La première ligne du shell doit également définir lequel utiliser: #! / Bin / sh indique use / bin / sh

Alex
la source
3
Sur de nombreux systèmes (comme sous Mac OS X), shc'est en fait aujourd'hui bash, alias le Bourne-again shell. La commande sh --versionen dira un de plus. Il est cependant rétrocompatible avec le shell Bourne.
Arjan
6

sh est la coquille de bourne. /usr/local/tomcat/bin/shutdown.shest un script shell. sh files'exécute filecomme un script shell. en général, il suffit de définir le bit d'exécution et d'exécuter ./file.

user23307
la source
ok donc je sors et change implicitement mon shell pour exécuter cette commande, ok merci.
user3183
Techniquement, vous changeriez le script. Assurez-vous que la première ligne est: #! / Bin / bash puis: chmod + x /usr/local/tomcat/bin/shutdown.sh pour le rendre exécutable