Looking for sh Answers? Try Ask4KnowledgeBase
Looking for sh Keywords? Try Ask4Keywords

shEmpezando con sh


Observaciones

sh no es una sola concha. Más bien, es una especificación con el estándar del sistema operativo POSIX sobre cómo debería funcionar un shell. Un script que se dirige a esta especificación puede ser ejecutado por cualquier shell compatible con POSIX, como

  • bash
  • ksh
  • ash y sus derivados, como el dash
  • zsh

En un sistema operativo compatible con POSIX, la ruta /bin/sh refiere a un shell compatible con POSIX. Por lo general, este es un shell que tiene funciones que no se encuentran en el estándar POSIX, pero cuando se ejecuta como sh , se restringirá al subconjunto compatible con POSIX de sus funciones.

Referencias

Portabilidad de eco

$ for shell in ash bash dash ksh ksh93 zsh; do
>     $shell -c "echo '\\\\'$shell'\\\\'"
> done
\\ash\\
\\bash\\
\dash\
\pdksh\
\\ksh93\\
\zsh\
 

'echo' solo se puede usar de manera consistente, en implementaciones, si sus argumentos no contienen ninguna barra invertida (reverse-solidi), y si el primer argumento no comienza con un guión (guión-menos). Muchas implementaciones permiten opciones adicionales, como -e , aunque la única opción permitida es -n (ver a continuación).

Desde POSIX :

Si el primer operando es -n, o si alguno de los operandos contiene un carácter, los resultados están definidos por la implementación.

¡Hola Mundo!

Con echo

$ echo Hello, world!
Hello, world!
 

Con printf :

$ printf 'Hello, world!\n'
Hello, world!
 

Como un archivo:

#!/bin/sh
printf '%s\n' 'Hello, world!'