通过回读读取用户输入

通过回读读取用户输入

当我使用简单的 bash 命令时

#!/bin/bash
echo Please, enter your name
read NAME
echo "Hi $NAME!"

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

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

答案1

总结供以后参考:

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

该代码在我的bashDebian 上工作,但在我的那里不起作用csh,当使用source filename.sh.然而,OP 的意图似乎是用 来运行它bash

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

最后,#!/bin/bash在这个特殊案例中,shebang 走上了一条错误的道路。

相关内容