Leggi che per confrontare le stringhe all'interno ifdobbiamo usare parentesi quadre doppie. Alcuni libri dicono che il confronto può essere fatto da =. Ma funziona anche con questo ==.
#!/bin/bash
a="hello"
b="world"
if [[ $a == $b ]];then
echo "equal"
fi
C'è una differenza tra =e ==nel confronto?
==, che è il motivo per cui si dovrebbe utilizzare =(uguaglianza) con [, e ==(pattern matching, con la semantica che sono Citando-aware) con [[. Vedere help testvs help [[.
[ foo == foo ] && echo foosicuramente stampa foo, indicando che ==funziona con [. Tuttavia, se per "è per" intendi "si intendeva utilizzare", allora ho un'obiezione minore.
[[in primo luogo che ha una comprensione significativamente più sfumata di tokenizzazione, suddivisione di parole, ecc ...
=è per[.==è per[[.