#1 Le 31/08/2017, à 09:32
- robotzeus
[résolu]probléme binaire attendue sur un fichier
Bonjour.
j'ai testé un petit script pour affiché les fichier d'un répertoire mais j'ai eu une erreur lors de l'execution (j 'ai enlevé quelque ligne pour éviter que ca soit trop long)
ls| while read line; do
if [ -f $line ]
then
echo $line
fi
done
+ ls
+ read line
+ '[' -f Bureau ']'
.....
+ read line
+ '[' -f nligne ']'
+ echo nligne
nligne
...
+ read line
+ '[' -f Vidéos ']'
+ read line
+ '[' -f VirtualBox VMs ']'
/media/zeus/15A9-70DC/progtest/prog1: ligne 9 : [: VirtualBox : opérateur binaire attendu
+ read line
la commande LS renvois
Bureau intlag.m Musique nligne.txt Public VirtualBox VMs
Documents Modèles nbligne PDF Téléchargements
Images mozilla.pdf nligne progtest Vidéos
il semble donc qu'il es un probleme avec le dossier VirtualBox VMs sans que je puisse savoir pourquoi.
Es-ce que quelqu'un a une idée du probleme et de la maniere de le resourdre pour plus que la ligne s'affiche ?
Dernière modification par robotzeus (Le 31/08/2017, à 09:55)
Hors ligne
#2 Le 31/08/2017, à 09:41
- Hoper
Re : [résolu]probléme binaire attendue sur un fichier
EDIT : En fait tu peux laisser tomber ce que j'ai écris plus bas. D'après ton post, il prend bien l'espace, c'est juste que dans ton test tu ne protège pas ta chaîne de caractère, et que donc le "VM" est pris pour un argument du test. Met simplement des guillemets :
if [ -f $line ] => if [ -f "$line" ]
Et ça devrait passer
-------------------------------------------------------------------------------------------
Le problème, c'est qu'il y a un espace dans le nom du répertoire.
Globalement si tu veux appliquer une opération sur une liste de fichier, essaye de faire autrement. Par exemple :
IFS='
'
for i in `ls -1`
do
echo $i
done
unset IFS
Je commence par indiquer que le séparateur ce n'est plus un blanc (espace ou tabulation) mais un retour à la ligne. Puis je boucle sur la sortie de ls -1 (option qui affiche le résultat du ls ligne par ligne). Enfin je supprime le contenu de la variable d’environnement IFS pour qu'elle retrouve sa valeur par défaut.
--------------------------------------------------------------------------------------------
Dernière modification par Hoper (Le 31/08/2017, à 09:55)
Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org
Hors ligne
#3 Le 31/08/2017, à 09:54
- robotzeus
Re : [résolu]probléme binaire attendue sur un fichier
merci c'est parfait avec les guillemet
Hors ligne