Bash

通過回讀讀取使用者輸入

  • November 4, 2017

當我使用簡單的 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 走錯了路。

引用自:https://unix.stackexchange.com/questions/277716