sh limite plein de trucs quand même...
Ca t'oblige à utiliser echo + pipe :
varSed=$(echo "$var" | sed 's@/@\\/@g')
alors qu'on peut faire
varSed=$(sed 's@/@\\/@g' <<< "$var")
en bash.
Ça dépend vraiment de ce que tu veux faire, un truc portable ou limité à bash... mais comme tu le signales les terminaux utilises bash par défaut sur ubuntu... donc ça pousse à l'utiliser.
Oui, ça c'est portable, et ce n'est guère plus long à écrire que la ligne de conversion de la variable brute en "bashism" !
Ouais mais c'est pas la même rapidité d’exécution :
test="Super texte"
time for ((x=1; x<1000; x++))
do
resultat=$(echo "$test" | sed "s/Super/Petit/")
done
# ~ 3s
time for ((x=1; x<1000; x++))
do
resultat="${test//Super/Petit}"
done
# ~ 0.01sec
Et comme l'expliquer Watael dans un topic du forum, le but de dash est d'acceler le démarrage, une fois fait, plus de gros intérêt à l'utiliser s'il permet moins de chose (même si on pert en portabilité) en fonction du but recherché.
Si on veut quelques chose de portable, il faut le signaler dans la demande, à mon sens