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
可能是什么问题呢?我搜索但没有解决方案。
总结供日后参考:
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 走错了路。