今天遇到一個很糾結的問題,一直搞了一下午了吧!TNND的氣死我了……
原因是我看鳥哥的linux這本書,在看到shell script的簡單文法,按照上面的文法去寫,結果有錯:嘗試了很多次都是有錯無法進行下去:很簡單的操作:export PATH
read -p "please input your choice:(Y/N)" yn
echo $yn
if [ "$yn" == "y" ]||[ "$yn" == "Y" ];
then
echo "ok,continue"
exit 0
fi
echo "I don't your choice" && exit 0
進行編譯以後就會報錯:
root@zhou:/scripts# sh sh011.sh
please input your choice:(Y/N)y
y
[: 18: y: unexpected operator
I don't your choice
這裡的錯誤,這裡我的是ubuntu的os,我的修改是這樣的:
[ "$yn" == "y" ]||[ "$yn" == "Y" ] ##[ "$yn"=="y" ]||[ "$yn"=="Y"] 中間的空格去掉後就可以運作了。
還有一種該法是:
[ "$yn" == "y" ]||[ "$yn" == "Y" ] ##[ "$yn" = "y" ]||[ "$yn" = "Y"] 把==改為=即可。
感覺這可能是os不一樣造成的結果吧,他們用到的bash,shell可能不太一樣。