通常會造成 Bad substitution 錯誤
大部分是因為第一行的定義沒寫好.當然也可能是語法錯誤
我將第一行改寫為預設bash如下, 即可解決
1 |
#!/bin/bash |
根據鳥哥說明:
可以檢查一下 /etc/shells 這個檔案,至少就有底下這幾個可以用的 shells:
1 2 3 4 5 6 |
/bin/sh (已經被 /bin/bash 所取代) /bin/bash (就是 Linux 預設的 shell) /bin/ksh (Kornshell 由 AT&T Bell lab. 發展出來的,相容於 bash) /bin/tcsh (整合 C Shell ,提供更多的功能) /bin/csh (已經被 /bin/tcsh 所取代) /bin/zsh (基於 ksh 發展出來的,功能更強大的 shell) |
這個問題有點類似之前寫的一篇文章, 也說明了一下dash與bash的設定
UBUNTU- 執行SHELL SCRIPT 為什麼常發生 UNEXPECTED OPERATOR