ubuntu下shell指令碼執行異常

2021-06-18 08:31:20 字數 374 閱讀 8333

ubuntu下shell指令碼執行異常:sudo ./start.sh 

./start.sh: 16: ./start.sh: syntax error: bad for loop variable

原因:ubuntu下sh預設指向dash,是/bin/sh鏈結到了/bin/dash而不是傳統的/bin/bash。

bash - gnu bourne-again shell

dash - debian almquist shell

解決:sudo dpkg-reconfigure dash

出現選單問你是否要dash的時候,選no就可以了。

再次檢查一下, ls /bin/sh -al 發現軟鏈結指向/bin/bash就可以了。

Ubuntu下執行Shell指令碼

將乙個指令碼儲存為帶有副檔名的檔案,如test.sh,在終端上輸入 chmod x test.sh 然後輸入 test.sh 終端顯示 test.sh 找不到命令 後來看了鳥個私房菜,發現這樣輸入,系統只會在 path上列出的路徑查詢,而不會查詢當前的目錄有沒有這樣的命名,以找到的第乙個為準 但是,...

ubuntu 下 shell指令碼的執行

之前寫過一些簡單的bash指令碼,實現一些簡單的功能,雖然每次寫完之後無法使用 test.sh 來執行,但是使用 sh test.sh 效果也一樣的。今天在使用 sh 來執行指令碼時,出現了錯誤,就引發了我的好奇心,在網上搜了許多部落格,看看到底有什麼不同,以下是我的個人思考與理解 首先,在ubun...

運維常用shell指令碼

開頭加直譯器 bin bash 語法縮排,開頭用四個空格 多加注釋說明。命名規則 變數名大寫 區域性變數小寫 函式名小寫 名字能夠體現實際作用。預設變數是全域性的,在函式中變數local指定為區域性變數,避免汙染其他作用域。指令碼寫完後一定要先除錯再線上使用。echo random md5sum c...