【发布时间】:2018-01-06 16:17:37
【问题描述】:
以下是我的代码
Read file
Count=0
While read -n1 c
Do
Case $c in
.
.
.
.
Esac
Done < $file
Echo"$count"
当我运行这段代码时,它显示错误为
阅读:非法选项-n
我刚开始学习shell编程。所以请帮我修复这段代码
【问题讨论】:
-
您所有的关键字都是无效的,因为它们以大写字符开头。这是复制粘贴问题吗?然后,您可能会使用
sh而不是 Bash 运行脚本,例如 dash 的read没有-n选项。 -
关键字本身变成了大写,因为我是通过手机发布的。我在 sh 中运行了代码。错误仍然存在
-
是的,如果您使用
sh运行它,您将使用read的任何sh(不一定是Bash)。例如,在 Ubuntu 上,sh是破折号,破折号的read没有-n选项。您可能想使用bash运行。你究竟是如何运行你的脚本的?有没有shebang线? -
我在 Windows 和 Ubuntu 的 Linux 子系统中运行了这段代码。而且没有代码没有shebang行
-
您使用什么命令来运行脚本?我怀疑
sh <scriptname>而不是bash <scriptname>。