Il mio codice:[: Operatore imprevisto nella programmazione della shell
#!/bin/sh
#filename:choose.sh
read choose
[ "$choose" == "y" -o "$choose" == "Y" ] && echo "Yes" && exit 0
[ "$choose" == "n" -o "$choose" == "N" ] && echo "No" && exit 0
echo "Wrong Input" && exit 0
Ma quando eseguo
sh ./choose.sh
terminale, me che
[: 4: n: :Unexpected operator
[: 5: n: :Unexpected operator
C'è qualche errore nel mio script bash ? Grazie!
Quando eseguivo lo stesso codice in Linux e in cygwin non ricevevo errori – Raghuram
Cygwin ha molto probabilmente aliasato 'sh' in' bash'. Alcune distribuzioni non offrono più un vero 'sh'. Sebbene alcuni sostengano (e io tendo ad essere d'accordo) che se stai scrivendo uno script per essere portabile, scrivilo in 'sh' invece di' bash'. – Wolph
Il mio problema era che dovevo 'source foobar.sh' not'./Foobar.sh' – jsta