Bonjour,
Me voici confronté à un truc qui me dépasse un peu :
echo comprend bien les options en ligne de commande mais plus dans un script !
Il y a un paramètre qqpart qui donne un comportement différent au bash en mode interactif ?
En ligne de commande :
for i in $(seq 1 5); do echo -en '.'; sleep 1; done;
m'affiche bien sur la même ligne un point par seconde et sort.
mais si je met ça dans un script et que je lance le script, ça donne :
-en .
-en .
-en .
-en .
-en .
Et tout aussi curieux:
$sh -c "for i in $(seq 1 5); do echo -en '.'; sleep 1; done;"
sh: Syntax error: word unexpected (expecting "do")
OK, le sous shell marche pas dans ces conditions, on fait alors
$sh -c "for i in 1 2 3 4 5; do echo -en '.'; sleep 1; done;"
-en .
-en .
-en .
-en .
-en .
C'est pas un pb d'espace insécable (j'ai fait un copier/coller), je vois vraiment pas...
J'ai essayé echo -e -n "." mais ça change rien.
Une idée ?
Mon shell est malade ? (GNU bash, version 3.1.17(1)-release - i486-pc-linux-gnu)
Daniel