En la mayoría de los scripts de shell que he visto (además de los que no he escrito yo mismo), noté que el shebang está configurado en #!/bin/sh
. Esto realmente no me sorprende en las secuencias de comandos más antiguas, pero también está presente en las secuencias de comandos bastante nuevas.
¿Hay alguna razón para preferir /bin/sh
? sobre /bin/bash
, desde bash
es bastante omnipresente, y a menudo predeterminado, en muchas máquinas Linux y BSD desde hace más de una década?
Respuesta aceptada:
- Hay sistemas que no envían bash de forma predeterminada (por ejemplo, FreeBSD).
- Incluso si bash está instalado, es posible que no se encuentre en
/bin
. - La mayoría de los scripts simples no requieren bash.
- Usar el shell POSIX es más portátil y los scripts se ejecutarán en una mayor variedad de sistemas.