關於Shell腳本if 報錯:[: too many arguments


寫了一個if 條件判斷,就單純的想判斷變量空或者非空的時候做一些事情。

但是執行以后當為非空的時候一直報出這個錯誤-->line 6: [: too many arguments

起初我以為,我語句表達寫錯,但是研究了半天,並沒有語法錯誤。

if [ ! $res ];  then

於是乎查詢了一番,發現該結論:

環境變量如果沒放在雙引號中, bash會 認為方括號中的自變量過多。可以用雙引號將字符串自變量括起來消除該問題。請記住,如果養成將所有字符串自變量用雙引號括起的習慣,將除去很多類似的編程錯誤。

又get到一個坑點,🤭,重要的事情說三遍!!!

變量加雙引號

變量加雙引號

變量加雙引號

if [ ! "$res" ];  then


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM