[quote=“syam”]Question de performance : les () lancent un sous-shell, c’est à dire un processus supplémentaire. C’est beaucoup plus lourd en ressources qu’en restant dans le même shell, d’autant que shopt est un builtin de bash (il fait partie intégrante de bash, et ne lance aucun processus externe) et ne consomme donc quasiment aucune ressource…
Et accessoirement, c’est plus lisible/compréhensible sans les parenthèses, ça évite d’avoir à se rappeler qu’on lance un sous-shell et donc que les options ne sont pas conservées après la parenthèse fermante (mais ça c’est juste l’opinion personnelle du fainéant que je suis ).[/quote]
Certe, c’est que j’avais l’habitude de faire jusqu’au jour où je suis tombé sur un script dont je ne n’étais pas l’auteur originel et où une option était déjà positionnée par défaut et donc que j’ai désactivé suite à mon instruction… ben la suite du script ne fonctionnait plus !
Et puis, ce n’est pas pour 1 fork d’un petit script que le système va tombé ou que le temps d’exécution d’une seul instruction va en être ressenti. Oui, j’ai mis de l’eau dans mon vin, c’est d’ailleurs pour cela que je n’ai pas lancé le sujet à propos du “ls” utilisé pour tester si le dossier est vide ou non. Les solutions proposées par Watael et moi même sont plus appropriées si l’on va dans ce sens.
edit : je n’avais pas lu l’intervention de Watael à ce propos