解決Linux下編譯.sh文件報錯 “[: unexpected operator”

問題:

在Linux通過編譯 .sh文件來生成工程,提示報錯:
在這裏插入圖片描述
然後我就表示很費解,查看我的.sh文件,其中有很多的[] ,都是這些報錯,可是之前一直沒問題。

後來發現,因爲Ubuntu默認的sh是連接到dash的,又因爲dash跟bash的不兼容所以出錯了.執行時可以把sh換成bash文件名.sh來執行.成功.dash是什麼東西,查了一下,應該也是一種shell,貌似用戶對它的詬病頗多。

修改sh默認連接到bash的一種方法:

sudo dpkg-reconfigure dash

選擇no 即可!

再次編譯!通過!搞定!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章