O que exatamente é o comando sh?

33

Não consigo descobrir qual é o comando sh?

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

Ele executa um arquivo?

como no tomcat:

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

Desculpe, apenas confuso.

user3183
fonte
1
@ Chopper3: tags não são para expressar sua opinião, são comentários.
precisa saber é o seguinte

Respostas:

32

sh é a casca de bourne .

Existem vários shells, dos quais o bourne é o padrão antigo, instalado em todos os sistemas unix e, geralmente, o que você pode garantir que existirá.

O shell é o intérprete de comando que recebe sua entrada, fornece saída de volta para a tela, para os arquivos corretos, etc, e fornece todos os comandos internos básicos necessários para gerenciar tarefas, matar, testar expressões etc.

Seu comando acima está dizendo para executar esse script de shell usando o shell bourne. Shell diferentes usam sintaxe diferente, portanto, usar o shell correto é um requisito. A primeira linha do shell também deve definir qual usar: #! / Bin / sh diz use / bin / sh

Alex
fonte
3
Em muitos sistemas (como no Mac OS X), atualmente shé bash, na verdade , também conhecido como shell Bourne-again. O comando sh --versiondirá mais um. É retrocompatível com o shell Bourne.
Arjan #
6

sh é a casca de bourne. /usr/local/tomcat/bin/shutdown.shé um script de shell. sh fileexecuta filecomo um script de shell. geralmente, basta definir o bit de execução e executar ./file.

user23307
fonte
ok, então eu estou saindo e alterando meu shell implicitamente para executar esse comando, ok obrigado.
precisa saber é o seguinte
Tecnicamente, você mudaria o script. Certifique-se a primeira linha é: #! / Bin / bash então: chmod + x /usr/local/tomcat/bin/shutdown.sh para torná-lo executável!