De la différence entre bash et sh :
ABck à la question: Si vous avez
/bin/shun lien vers bash, alors bash ne se comportera pas de la même manière lorsqu'il est appelé/bin/shcomme il le fait lorsqu'il est appelé comme/bin/bash. Lorsqu'il est appelé en tant quesh, il se limitera principalement à la conformité POSIX plus un ensemble limité d'extensions.
Est-ce que cela signifie que chaque fois que je rencontre un script shell sous Linux avec un shebang to sh:, #!/bin/shmême si sur cette distribution, bin/shc'est un lien symbolique vers un autre shell, comme dash ou bash, il devrait être 100% compatible avec le bourne shell, car se limite-t-elle à un ensemble limité d'extension? Je pourrais donc les exécuter dans FreeBSD? Y a-t-il une exception à cela? Ou devrais-je être sûr de supposer que cela fonctionnera?
Donc, si sur une distribution, bin/shest un lien symbolique vers bin/bash, et un script utilise #!/bin/shet le script contient bashism, il ne fonctionnera pas, car bash aimera être en mode sh?