Lisez que pour comparer les chaînes à l'intérieur, if
nous 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 test
vs help [[
.
[ foo == foo ] && echo foo
il 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[[
.