Dans les scripts bash,
if [[ $var1 != $var2 ]]
est équivalent à la forme
[ $var1 -ne $var2 ]
Pourquoi les opérateurs relationnels ( <=
, >=
) ne fonctionnent-ils pas dans le formulaire de test double? J’ai essayé [[ $var1 <= $var2 ]]
dans un de mes scripts et cela me donne une erreur de syntaxe. Dois-je utiliser le formulaire [[ $var1 < $var2 || $var1 = $var2 ]]
[[ $var1 < $var2 || $var1 = $var2 ]]
? Ou y a-t-il quelque chose qui me manque?
Vous pouvez utiliser la construction (( ))
:
$ (( 4 <= 5 )) && echo ok ok $ (( 4 <= 3 )) && echo ok || echo ko ko
ou:
var1=4 var2=5 if (( var1 <= var2 )) ; then echo ok fi