問題描述:
在Ubuntu下運行shell文件,文件中有判斷語句[ x == xxxx ]時,運行結果會報錯,如下圖:
程序中寫了判斷語句[ x == xxxx ]如下圖:
分析原因:
因爲Ubuntu默認的shell是連接到dash的,而我們在文件開始的時候是指定文件使用bash,如下圖:
又因爲dash和bash的不兼容所以造成了系統運行.sh文件的時候出錯了。
解決方法:
①輸入 sudo dpkg-reconfigure dash 修改Ubuntu解釋器默認連接到bash,如下圖:
②通過鍵盤上的方向鍵來選擇光標移動到 No,然後按下 enter 鍵確認選擇。
③系統提示移除了dash相關選項,添加了bash相關選項。
④重新運行程序,不再報錯,程序運行結果正確,問題解決。