这个简单的脚本应该是一个字母:
#!/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
.