¿Qué es exactamente el comando sh?

33

No puedo entender cuál es el comando sh?

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

¿Ejecuta un archivo?

como en tomcat:

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

Lo siento, solo confundido.

usuario3183
fuente
1
@ Chopper3: las etiquetas no son para expresar tu opinión, los comentarios sí.
ThatGraemeGuy

Respuestas:

32

sh es el caparazón de bourne .

Hay varios shells, de los cuales bourne es el estándar anterior, instalado en todos los sistemas Unix, y generalmente el que puede garantizar que existirá.

El intérprete de comandos es el intérprete de comandos que toma su entrada, devuelve la salida a la pantalla, a los archivos correctos, etc., y proporciona todos los comandos integrados básicos que necesita para administrar trabajos, matar, probar expresiones, etc.

Su comando anterior dice ejecutar ese script de shell utilizando el shell bourne. Diferentes shells usan diferentes sintaxis, por lo que es obligatorio usar el shell correcto. La primera línea del shell también debe definir cuál usar: #! / Bin / sh dice use / bin / sh

Alex
fuente
3
En muchos sistemas (como en Mac OS X), hoy en día shes bash, en realidad , el shell Bourne-again. El comando sh --versionle dirá uno más. Sin embargo, es compatible con el shell Bourne.
Arjan
6

sh es el caparazón de bourne. /usr/local/tomcat/bin/shutdown.shes un script de shell sh filese ejecuta filecomo un script de shell. generalmente uno solo establecería el bit de ejecución y la ejecución ./file.

usuario23307
fuente
ok así que salgo y cambio mi shell implícitamente para ejecutar ese comando, ok gracias.
user3183
Técnicamente, estarías cambiando el guión. Asegúrese de que la primera línea sea: #! / Bin / bash y luego: chmod + x /usr/local/tomcat/bin/shutdown.sh para hacerlo ejecutable