$ ls fichier.inexistant
ls: fichier.inexistant: No such file or directory
$ echo $?
1
La même chose sous Darwin :
$ ls fichier.inexistant
ls: fichier.inexistant: No such file or directory
$ echo $?
0
Tout ça testé avec bash/ksh93/zsh.
J'ai bien vérifié que le message d'erreur était envoyé sur stderr et
que donc ls considérait bien comme une erreur de lui passer un fichier
inexistant. Alors, pourquoi ce code de retour de 0 qui indique un
succès ?
--
Éric Jacoboni, né il y a 1416947811 secondes
Un .profile avec ls defini comme une fonction/alias?
Argh... Un alias portant le nom d'une commande ? : vade retro satanas !
Sinon, c'est un bug, ou du moins ce ls n'est pas SUS conformant.
Je penche tout simplement pour un bug.
Si tu as des doutes sur le shell, tu peux essayer:
Vu que ça le fait quel que soit le shell et que j'utilise les dernières versions d'iceux, je pense que le problème se situe dans /bin/ls...
Je vais attendre de voir si la prochaine version de Darwin corrige le tir, sinon j'aviserai... -- Éric Jacoboni, né il y a 1416959724 secondes
Stephane Chazelas
2005-04-14, 23:59(+02), Eric Jacoboni: [...]
Vu que ça le fait quel que soit le shell et que j'utilise les dernières versions d'iceux, je pense que le problème se situe dans /bin/ls... [...]
Ca pourrait etre la libc, les BSD-like ont tendance a avoir des fonctions un peu trop evoluees dans la libc. ls utilise peut-etre un fts(3) bogué par exemple.
-- Stéphane
2005-04-14, 23:59(+02), Eric Jacoboni:
[...]
Vu que ça le fait quel que soit le shell et que j'utilise les
dernières versions d'iceux, je pense que le problème se situe dans
/bin/ls...
[...]
Ca pourrait etre la libc, les BSD-like ont tendance a avoir des
fonctions un peu trop evoluees dans la libc. ls utilise
peut-etre un fts(3) bogué par exemple.
Vu que ça le fait quel que soit le shell et que j'utilise les dernières versions d'iceux, je pense que le problème se situe dans /bin/ls... [...]
Ca pourrait etre la libc, les BSD-like ont tendance a avoir des fonctions un peu trop evoluees dans la libc. ls utilise peut-etre un fts(3) bogué par exemple.