Traitement de fichier
Bonjour,
j'ai pas trouvé l'erreur
#!/bin/bash
fichier="/home/user/mahran"
cat $fichier | while true
do
read ligne
if [ -z $ligne ]
then
break
fi
set -- $ligne
prenom=$1
nom=$2
s1=${prenom:0:2}
echo $s1
done
------------------------------------------
voila l'execution :
script10: line 10: [: baccouch: binary operator expected
ba
j'ai pas trouvé l'erreur
#!/bin/bash
fichier="/home/user/mahran"
cat $fichier | while true
do
read ligne
if [ -z $ligne ]
then
break
fi
set -- $ligne
prenom=$1
nom=$2
s1=${prenom:0:2}
echo $s1
done
------------------------------------------
voila l'execution :
script10: line 10: [: baccouch: binary operator expected
ba
Configuration: Linux Suse Firefox 2.0
1 réponse
-
bonjour,
si il y a if, il ne faut pas else ?
:-))-
ModérateurSalut Bobby,
Pas nécessairement, dans le cas de notre ami keurel, il teste voir si sa variable n'est pas une chaîne vide, donc une seule condition suffit, si vide alors sortir de la boucle "do ... done", dans le cas contraire le "else" se fait tout seul (sinon continuer l'exécution de la boucle "do ... done")
;-))
Salut keurel,
Essaie plutôt comme ça :#! /bin/bash fichier="/home/user/mahran" while read ligne do set -- "$ligne" prenom=$1 nom=$2 s1=${prenom:0:2} echo $s1 done < "$fichier";-))
-
-