[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Scripting Bash



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.mollier@mailoo.org>



Reply to: