Lisez que pour comparer les chaînes à l'intérieur, ifnous devons utiliser des crochets doubles. Certains livres disent que la comparaison peut être faite par =. Mais cela fonctionne aussi avec ==.
#!/bin/bash
a="hello"
b="world"
if [[ $a == $b ]];then
echo "equal"
fi
Y a-t-il une différence entre =et ==dans la comparaison?
==, ce qui est la raison pour laquelle vous devriez utiliser =(égalité) avec [, et ==(correspondance de motif, avec la sémantique qui sont en train de citer-aware) avec [[. Voir help testvs help [[.
[ foo == foo ] && echo fooil s'imprime certainement foo, indiquant que cela ==fonctionne avec [. Cependant, si par "est pour" vous voulez dire "était destiné à être utilisé avec", alors j'ai une moindre objection.
[[en premier lieu qui a une compréhension beaucoup plus nuancée de la tokenisation, du fractionnement de mots, etc ...
=est pour[.==est pour[[.