S'il vous plaît aidez-moi à trouver problèmeen cas d'erreur de déclaration bash
t1=$(sort -k 2,2 f.txt|head -1|cut -d" " -f3)
while read x
do
t2=$(echo $x|cut -d" " -f2)
if [ $t2 -ge $t1 ] ; then
p=$(echo $x|cut -d" " -f1)
echo -n $p " "
fi
done <f.txt
f.txt
F1 13
G 13
H 0
Je Geeting erreur suivant
-sbash: [: 13: unary operator expected
-sbash: [: 13: unary operator expected
sans H 0 ligne cela fonctionne correctement
Quoi? Si vous avez déjà cité la variable avant l'instruction-test, il n'est pas nécessaire de la citer à nouveau, j'ai même pensé que c'était une mauvaise étiquette. – Anders
@Anders: 'v1 =" "; ["$ v1" = ''] && echo "match" 'contre' v1 = ""; [$ v1 = ''] && echo "non imprimé en raison d'une erreur" 'versus' v1 = ""; [[$ v1 == '']] && echo "pas de guillemets nécessaires" ' –