我的代碼:[:在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
但是,當我執行
sh ./choose.sh
終端提示我,
[: 4: n: :Unexpected operator
[: 5: n: :Unexpected operator
有沒有在我的bash腳本中的任何錯誤? 謝謝!
當我在Linux和cygwin中執行相同的代碼時,我沒有收到任何錯誤 – Raghuram 2010-08-05 01:11:22
Cygwin最有可能將'sh'替換爲'bash'。有些發行版不再提供真正的'sh'。儘管有些人會爭辯(我傾向於同意),如果你正在編寫一個可移植的腳本,用'sh'而不是'bash'來寫。 – Wolph 2010-08-05 01:27:10
我的問題是,我需要'源foobar.sh'不''。/ foobar.sh' – jsta 2016-08-30 16:36:44