micky979 tu as raison il est vrai que si mon script est écrit sans #!/bin/bash en première ligne
(ce que j’ai omis de signaler)
alors les 3 appels fonctionnent.
Néanmoins , sous lenny , cette ligne ne posait aucun problème , peu importe la méthode d’appel !
J’ ai modifier mes scripts en conséquence et le tout fonctionne maintenant correctement tant sous squeeze que lenny.
J’espère juste que ce comportement n’engendre pas de problème dans d’autres scripts , écrits par d’autres ou pire actifs dans le système à un moment ou un autre .
[quote=“berniquet”]micky979 tu as raison il est vrai que si mon script est écrit sans #!/bin/bash en première ligne
(ce que j’ai omis de signaler)
alors les 3 appels fonctionnent.
Néanmoins , sous lenny , cette ligne ne posait aucun problème , peu importe la méthode d’appel ![/quote]
Encore une excellente raison d’avoir mis dash en shell POSIX par défaut sous Debian.
Je vai finir par écrir une page sur le wiki à ce sujet.
bash vs dash n’a rien à voir ici, je pense qu’il y a un retour chariot à la fin des lignes notamment dans le «#!/bin/bash», il faudrait éditer le fichier d’origine sous emacs pour voir ou faire un
Même si c’est bien ce que tu dis. Le fait que quelque chose marche avec bash et pas avec dash souligne une non conformité POSIX quelque part.
C’est le genre de problème qui permettent de se rendre compte ce qui est portable ou non.
Note que dash est devenu le shell par défaut du système, bash reste le shell par défaut des utilisateurs (il est plus puissant mais moins léger et moins rapide).
Je sais mais n’empêche que ce changement a permit de mettre en évidence bon nombre de scripts faux : qui déclaraient un shaban en /bin/sh alors qu’ils utilisaient des fonctionnalités qui ne sont pas dans le bourne shell.
[quote=« MisterFreez »]Encore une excellente raison d’avoir mis dash en shell POSIX par défaut sous Debian.
Je vai finir par écrir une page sur le wiki à ce sujet.[/quote]
effectivement aptitude confirme
Description : interpréteur de commandes conforme à POSIX
L’interpréteur de commandes « dash » (Debian Almquist Shell) est conforme à la
norme POSIX et est dérivé de ash.
Puisqu’il exécute les scripts plus rapidement que bash et dépend de moins de
bibliothèques (le rendant ainsi plus résistant aux pannes logicielles ou
matérielles), c’est l’interpréteur de commandes par défaut sur les systèmes
Debian.
Il serait intéressant pour la amateurs comme moi de trouver de la documentation francophone sur la norme POSIX et leurs liens avec le comportement de la distribution.