解決Ubuntu下運行shell文件報錯 “[:XXXX: unexpected operator”的問題

問題描述:
在Ubuntu下運行shell文件,文件中有判斷語句[ x == xxxx ]時,運行結果會報錯,如下圖:
在這裏插入圖片描述
程序中寫了判斷語句[ x == xxxx ]如下圖:
在這裏插入圖片描述
分析原因:
因爲Ubuntu默認的shell是連接到dash的,而我們在文件開始的時候是指定文件使用bash,如下圖:
在這裏插入圖片描述
又因爲dashbash的不兼容所以造成了系統運行.sh文件的時候出錯了。

解決方法:
①輸入 sudo dpkg-reconfigure dash 修改Ubuntu解釋器默認連接到bash,如下圖:
在這裏插入圖片描述
②通過鍵盤上的方向鍵來選擇光標移動到 No,然後按下 enter 鍵確認選擇。
在這裏插入圖片描述
③系統提示移除了dash相關選項,添加了bash相關選項。
在這裏插入圖片描述
④重新運行程序,不再報錯,程序運行結果正確,問題解決。
在這裏插入圖片描述

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