echo ne prend pas les options dans un script

Bruno Bonfils asyd at asyd.net
Mon Nov 13 16:58:48 CET 2006


On lun 13 novembre, Daniel Caillibaud wrote:

> Une idée ?
> Mon shell est malade ? (GNU bash, version 3.1.17(1)-release - i486-pc-linux-gnu)
> 

Ton /bin/sh doit être un lien vers un autre shell que bash, par exemple
dash, qui lui ne supporte pas les options echo -e -n 

exemple :

asyd at eva-01:~/tmp$ cat test.sh
#!/bin/sh

for i in $(seq 1 5); do echo -en '.'; sleep 1; done;


asyd at eva-01:~/tmp$ /bin/dash  ./test.sh
-en .

etc..

alors que :

asyd at eva-01:~/tmp$ cat test.sh
#!/bin/sh

for i in $(seq 1 5); do /bin/echo -en '.'; sleep 1; done;

asyd at eva-01:~/tmp$ /bin/dash  ./test.sh
......

Quand tu ne spécifies pas un shell complet, ton shell va prefere la
forme builtin si elle est dispo, ce qui me semble logique.

Pour les fins observateurs, rassurez vous, NON, je ne suis pas revenu à
bash.

a+

-- 
http://asyd.net/home/   - Home Page
http://guses.org/home/  - French Speaking (Open)Solaris User Group


More information about the Shell mailing list