shell script錯誤: Bad substitution

通常會造成 Bad substitution 錯誤
大部分是因為第一行的定義沒寫好.當然也可能是語法錯誤

我將第一行改寫為預設bash如下, 即可解決

#!/bin/bash

根據鳥哥說明:
可以檢查一下 /etc/shells 這個檔案,至少就有底下這幾個可以用的 shells:

/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

發表迴響