Le Sun, 15 Dec 2002 17:18:14 -0400, jipe a écrit : > voilà pourquoi je disais de quoter. il faut entourer les noms de variables, le $ > y compris avec "" pour préserver les espaces dans les noms de fichiers ou > de répertoires.
Ça, j'avais fait ! > mais c'est insuffisant pour la variable tableau qui va > traiter chaque espace comme un séparateur de champ. l'astuce consiste à Ben ouaip ! > définir $IFS avec \n (nouvelle ligne) comme séparateur de champ, et dans > ce cas précis, d'utiliser l'option -1 de ls qui présente chaque résultat sur > une ligne. Et allez, encore une astuce à la Jipe :-) > $ OIFS=$IFS; IFS=$'\t' > $ RANG=($(ls -t1 {"$orig","$CIBLE"})) [...] > $ IFS=$OIFS [...] C'est tout bon ! Mais maintenant, je me ballade dans le script avec une multitude de redéfinition et de restauration de IFS :-)) > un petit truc: > lorsqu'une variable contient plusieurs espaces à la suite, il suffit de la >double-quoter pour préserver les espaces. > $ a="abc def ghi" > $ echo $a > abc def ghi > $ echo "$a" > abc def ghi ça oui, je savais. > supprimer l'espace de $IFS permet de se passer de double-quotes avec > echo. je trouve que c'est même plus confortable dans un script. en tout > cas moins de prise de tête lorsqu'il faut débuguer. > $ IFS=$'\n' > $ echo $a > abc def ghi Ah ouaip ! Mais moi j'ai encore du mal avec tes IFS=$'\n\r\t' IFS=" " IFS=$'\n' un peu partout :-) Mais ça viendra. En tout cas, maintenant, mon (notre) script, il est au top ! > arf !!! non :) > j'avais commencé une ligne par "si seulement". j'ai du l'effacer > incomplètement puis y revenir en oubliant le petit bout non effacé qui > est resté, si seul, à la fin du message. > avec 4 enfants de 10 à 18 ans, c'est difficile d'être seul ... ;) Comme je te comprends. > (des fois j'aimerais bien ...) Comme je te comprends. (bis) :-)) > <- j'ai fait attention qu'il ne reste plus rien là ! Si si, moi ! ;-) -- Christophe PEREZ
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? Rendez-vous sur "http://www.mandrakestore.com"