“读取”单个键会出错

“读取”单个键会出错

这个简单的脚本应该是一个字母:

#!/bin/bash
read -n 1 key
echo $key

但它给出了以下错误

read: Illegal option -n

虽然是手工执行的read -n 1 key

答案1

-n选项read是 bash 扩展,在其他一些 shell 中找不到。如果出现错误read: Illegal option -n,则意味着您没有在 bash 下运行脚本。您很可能在 , 下运行脚本/bin/sh,并且/bin/sh不是 bash 而是 dash (错误消息是一个破折号产生的)。

要在 bash 下运行脚本,请使用舍邦line #!/bin/bash,使脚本文件可执行,并按名称调用它。由于您有一个 shebang 行,问题可能是您运行的. /path/to/script而不是/path/to/script从在/bin/sh.

相关内容