C'est toi qui a commencé à qualifier ton script de fainéant... Bon, désolé pour la condescendance, en tout cas voici une référence à ce sujet : https://wiki.ubuntu.com/DashAsBinSh
En gros, les bashismes les plus fréquents dans les scripts, remplaçables par des fonctions standards, sont :
[[ ... ]] pour les tests : utiliser [ ... ] à la place ;
function FUNCNAME pour définir des fonctions : utiliser FUNCNAME() à la place ;
source LIBRARY : utiliser . LIBRARY à la place.
Et quelques bashismes qui ne sont pas remplaçables de façon simple :
certaines formes de développement de variables, par exemple ${VAR/pattern/replacement}, qu'on peut souvent remplacer par plusieurs remplacements de fin et de début ;
certains tests, notamment [[ CHAINE == MOTIF ]], qu'on peut remplacer par un appel à grep, mais c'est justement là un cas où il est probablement plus efficace de garder Bash ;
$RANDOM, qu'on peut remplacer par des trucs pas franchement triviaux, mais c'est également un cas où il peut être pertinent de garder Bash.
Au passage, notez que pour les tests avec la commande test, alias [ ... ], les combinaisons intégrées sont marquées caduques par POSIX, et qu'il faut utiliser les combinaisons externes && et || à la place. Soit, au lieu de :
[^] # Re: Super
Posté par 🚲 Tanguy Ortolo (site web personnel) . En réponse à la dépêche Sortie de PhotoShow 3.0. Évalué à 4.
C'est toi qui a commencé à qualifier ton script de fainéant... Bon, désolé pour la condescendance, en tout cas voici une référence à ce sujet : https://wiki.ubuntu.com/DashAsBinSh
En gros, les bashismes les plus fréquents dans les scripts, remplaçables par des fonctions standards, sont :
[[ ... ]]pour les tests : utiliser[ ... ]à la place ;function FUNCNAMEpour définir des fonctions : utiliserFUNCNAME()à la place ;source LIBRARY: utiliser. LIBRARYà la place.Et quelques bashismes qui ne sont pas remplaçables de façon simple :
${VAR/pattern/replacement}, qu'on peut souvent remplacer par plusieurs remplacements de fin et de début ;[[ CHAINE == MOTIF ]], qu'on peut remplacer par un appel à grep, mais c'est justement là un cas où il est probablement plus efficace de garder Bash ;$RANDOM, qu'on peut remplacer par des trucs pas franchement triviaux, mais c'est également un cas où il peut être pertinent de garder Bash.Au passage, notez que pour les tests avec la commande
test, alias[ ... ], les combinaisons intégrées sont marquées caduques par POSIX, et qu'il faut utiliser les combinaisons externes&&et||à la place. Soit, au lieu de :utiliser :