Mi código:[: operador inesperado en la programación del 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
Pero cuando ejecuto
sh ./choose.sh
terminal de mi mensaje que
[: 4: n: :Unexpected operator
[: 5: n: :Unexpected operator
¿Hay algún error en mi escritura del golpe ? Gracias!
Cuando ejecuté el mismo código en Linux y en cygwin no estaba obteniendo ningún error – Raghuram
Cygwin tiene muy probablemente un alias de 'sh' a' bash'. Algunas distribuciones ya no ofrecen una verdadera 'sh'. Aunque algunos argumentarán (y estoy de acuerdo) que si estás escribiendo un guión para ser portátil, escríbelo en 'sh' en lugar de' bash'. – Wolph
Mi problema era que necesitaba 'source foobar.sh' not'./Foobar.sh' – jsta