Dans la plupart des scripts shell que j'ai vus (à part ceux que je n'ai pas écrits moi-même), j'ai remarqué que le shebang est défini sur #!/bin/sh
. Cela ne me surprend pas vraiment sur les scripts plus anciens, mais c'est également présent sur les scripts relativement nouveaux.
Y a-t-il une raison de préférer /bin/sh
sur /bin/bash
, depuis bash
est à peu près omniprésent, et souvent par défaut, sur de nombreuses machines Linux et BSD depuis plus d'une décennie ?
Réponse acceptée :
- Certains systèmes n'offrent pas bash par défaut (par exemple, FreeBSD).
- Même si bash est installé, il se peut qu'il ne se trouve pas dans
/bin
. - La plupart des scripts simples ne nécessitent pas bash.
- L'utilisation du shell POSIX est plus portable et les scripts s'exécuteront sur une plus grande variété de systèmes.