shell 中 if語句的語法錯誤

2021-08-26 11:26:55 字數 752 閱讀 3069

今天遇到乙個很糾結的問題,一直搞了一下午了吧!****的氣死我了……

原因是我看鳥哥的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 [: 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可能不太一樣。

shell語法錯誤

a 0.5 b 0.4 if a gt b then echo sucess fi報錯 未預期的符號 then 附近有語法錯誤 if囧 囧 a gt b囧 then 把上面幾個 囧 換成空格就好了。a 0.5 b 0.4 if a gt b then echo sucess fi報錯 0.5 需要整...

INSERT INTO 語句的語法錯誤

string sqlstr insert into db new content,title,classname,username,headline,highlight,summary,nkey,writer,source,hints,dateandtime,popedom,checkup,imag...

INSERT INTO 語句的語法錯誤

string sqlstr insert into db new content,title,classname,username,headline,highlight,summary,nkey,writer,source,hints,dateandtime,popedom,checkup,imag...