Le Samedi 12 Juillet 2003 23:37, Georges Louge a écrit :
> J'ai fini par trouver pourquoi: le résultat de:
>   ls -a1d .* --color=none
> n'est pas le même selon qu'il s'agit d'une commande passée dans une
> console ou d'une commande faisant partie d'un script. Dans le premier
> [SNIP]
> Quant à savoir pourquoi cette différence...

Le pourquoi est un peu tordu : en fait, la commande 'ls' sous Mdk est un
alias (contenant l'option '-F') activé depuis le fichier
/etc/profile.d/alias.sh. Ce fichier n'est pas exécuté dans un shell
non-interactif (tu peux consulter la section « invocation » au début de
la page man de bash pour connaître toutes les magnifiques subtilités qui
font que bash s'initialise différemment en fonction de sa qualité, de
son nom -- bash ou sh -- et de la conjonction de Mercure avec Jupiter) ;
donc les alias ne sont pas actifs. De plus, ils ne sont pas pris en
compte dans les shells non-interactifs. Pour obtenir un comportement des
commandes plus ou moins équivalent à celui que tu as en ligne de
commande, tu peux essayer de mettre ceci au début de ton script :

. /etc/profile.d/alias.sh
shopt -s expand_aliases

Je me dois néanmoins de préciser que ceci va lier ton script à ta
distrib' (alias.sh est absent ou différent dans les autres, donc ton
script n'y fonctionnerait pas), ce qui risque d'irriter les puristes de
la portabilité (je me suis fait tirer les oreilles par Denis après avoir
admis que j'utilisais des trucs incompatibles avec le shell Bourne,
comme les '$()' au lieu des '``' :-) C'est à prendre en compte s'il
t'importe que le script fonctionne partout.

Voilà, en espérant que ça aide...

+++
-- 
[ Jacques Caruso <[EMAIL PROTECTED]>                  Développeur PHP ]
[ Monaco Internet                           http://monaco-internet.mc/ ]
[ Tél : (+377) 93 10 00 43                        Clé PGP : 0x41F5C63D ]
[ * Quand j'écoute Wagner, j'ai envie d'envahir la Pologne - W Allen * ]

Linux-Azur :      http://www.linux-azur.org
Désinscriptions: http://www.linux-azur.org/liste.php3
**** Pas de message au format HTML, SVP ****

Répondre à