Bash
通過回讀讀取使用者輸入
當我使用簡單的 bash 命令時
#!/bin/bash echo Please, enter your name read NAME echo "Hi $NAME!"
並使用它執行
source filename.sh
它會給我一個錯誤:Undefined variable
可能是什麼問題呢?我搜尋但沒有解決方案。
供將來參考的摘要:
shebang 指向,
/bin/bash
但該source
命令使程式碼在目前 shell 中執行,結果是csh
.當使用.
bash
_ 然而,看起來 OP 的意圖是使用.csh``source filename.sh``bash
為了使其
bash
按預期執行,它需要成為執行檔 (chmod a+x filename.sh
) 並由./filename.sh
.最後,
#!/bin/bash
在這種特殊情況下,shebang 走錯了路。