使用回读读取用户输入

Lou*_*ura 1 freebsd bash shell-script

当我使用简单的 bash 命令时

#!/bin/bash
echo Please, enter your name
read NAME
echo "Hi $NAME!"
Run Code Online (Sandbox Code Playgroud)

并使用source filename.sh它运行它给我一个错误:Undefined variable

可能是什么问题呢?我搜索但没有解决方案。

Kam*_*ski 7

总结供日后参考:

shebang 指向/bin/bash但该source命令使代码在当前 shell 中运行,结果是csh.

该代码在我bash的 Debian 上工作csh,当使用source filename.sh. 然而,看起来 OP 的意图是使用bash.

要使其bash按预期运行,需要使其可执行 ( chmod a+x filename.sh) 并由./filename.sh.

最后,#!/bin/bash在这种特殊情况下,shebang 走错了路。