本人常常在Linux經過編譯 .sh文件來生成工程,以前一直都沒問題,代碼一直都沒變,可是今天編譯的時候,卻提示錯誤:linux
而後我就表示很費解,查看個人.sh文件,其中有不少的[] ,都是這些報錯,但是以前一直沒問題。shell
後來發現,由於Ubuntu默認的sh是鏈接到dash的,又由於dash跟bash的不兼容因此出錯了.執行時能夠把sh換成bash文件名.sh來執行.成功.dash是什麼東西,查了一下,應該也是一種shell,貌似用戶對它的詬病頗多。bash
修改sh默認鏈接到bash的一種方法:get
sudo dpkg-reconfigure dash編譯
選擇no 便可!方法
再次編譯!經過!搞定!top