ci-dessous est le code que j'ai utilisé pour comparer df ouptut par rapport à une chaîne. Quelqu'un peut-il me dire pourquoi il renvoie toujours faux?La comparaison de chaînes renvoie false pour des chaînes identiques
bash-3.00$ a=$(df -n dir1)
bash-3.00$ b="/opt : ufs"
bash-3.00$ echo "$a"
/opt : ufs
bash-3.00$ echo "$b"
/opt : ufs
bash-3.00$ [[ "$a" = "$b" ]]
bash-3.00$ echo $?
1
bash-3.00$
bash-3.00$ [[ "$a" == "$b" ]]
bash-3.00$ echo $?
1
Merci,
Vous pouvez avoir des onglets dans la sortie de df. Vous pouvez vérifier par ex. 'df -n dir1 | grep opt>/tmp/df.out' puis examine attentivement le contenu dans un éditeur. Qu'arrive-t- – JohnJ
si vous procédez comme suit: #/bin/bash a = "/ opt" b = "/ opt" [ "a $" = "$ b"] echo $? –
Voyons si le df ajoute de la corruption dans la variable, ce qui provoque un problème de comparaison. –