Sébastien Nobili, au 2019-04-04 : > Attention toutefois aux bashismes. Bash > fournit pas mal d’adaptations au standard (Bourne Shell) qui rendent > non-standard les scripts écrits pour lui et testés avec lui. > > Pas de problème si on n’utilise que Bash, mais si un jour le shell change (par > exemple lorsque Debian est passé de Bash à Dash comme shell par défaut), alors > les scripts plantent (et en général avec des messages assez obscurs).
Bonjour, C'est une très bonne remarque, un certain nombre de fonctions avancées de Bash ne peuvent pas être utilisée avec n'importe quel shell. Le Dash a la vocation d'implémenter le standard, ni plus, ni moins. Un script compatible Dash est donc censé tourner de la même manière avec n'importe quel autre shell compatible avec le Bourne Shell standard, du moins en théorie. Quand un shell est appelé de manière implicite, typiquement pour interpréter les recettes dans un Makefile, les bashismes peuvent causer des dégâts. Et changer de shell dans ce genre de contexte n'est pas toujours évident : je viens seulement de découvrir l'existence de la variable SHELL dans make pour changer d'interpréteur, par exemple… Amicalement, -- Étienne Mollier <etienne.moll...@mailoo.org>