Alors voilà, je suis en train de me préparer un 'petit' script et j'ai des difficultés sur une des fonctions, elle fait pas ce que je veux !!
Pour être sûr du coup, je l'ai isolée; c'est à dire que je l'ai recopiée dans un fichier test.sh que j'execute indépendamment et non plus en tant que fonction (je sais pas si je suis très clair là ) .
Bref, voici le contenu du test.sh :
Code : Tout sélectionner
#!/bin/bash
#
# Variables
rouge="\e[0;31m"
vert="\e[0;32m"
jaune="\e[0;33m"
rose="\e[1;35m"
bleu="\e[0;34m"
blanc="\e[1;37m"
fin="\e[0m"
## the Test file
i="0"
rep_orig="/home/widapit/TEST"
for fichiers in $(ls $rep_orig)
do
if [ -f $fichiers ]; then
fichier[$i]=$fichiers
let i++
fi
done
les_fichiers=$(echo ${fichier[*]} | sed 's/\ /,/g')
a_lister="$rep_orig/{$les_fichiers}"
echo -e $jaune " Les fichiers présents = $les_fichiers " $fin
echo -e $rouge " Pourquoi 'ls' ne reconnait pas le nom de fichier/dossier ?? " $fin
ls "$a_lister"
## End
echo $les_fichiers
m'affiche le bon résultat mais ls
me retourne le message d'erreur : Code : Tout sélectionner
$ ls: impossible d'accéder à /home/widapit/TEST/{test.php,test.txt}: Aucun fichier ou dossier de ce type
Code : Tout sélectionner
$ ls /home/widapit/TEST/{test.php,test.txt}
Code : Tout sélectionner
$ /home/widapit/TEST/test.php /home/widapit/TEST/test.txt
Une idée de ce que j'ai loupé ?
Mais aussi j'aimerais surtout comprendre pourquoi ces comportements différents ...
Merci à tous .