【发布时间】:2015-04-19 14:25:23
【问题描述】:
我必须编写一个 bash 脚本来计算文本文件中的所有命令。脚本的参数是-p、-n num 和一个文件。这意味着像这样的命令:
script.sh -n 3 -p file.txt
script -p -n 3 file.txt
和类似的都是合法的。
但是,对于与此不相似的任何命令,我必须回显错误:例如 script.sh -n -k file.txt。
我设法让它工作,但它太长而且多余。有什么方法可以让我在短时间内做到这一点?
【问题讨论】:
-
比什么短,究竟是什么?请展示你所拥有的。
-
您是在使用内置的
getopts还是GNUgetopt? -
好的,就是这样。我发现它不起作用 100% right-script.sh -n 3 -k 可以正常工作,即使 -k 不是一个合法的命令。 pastebin.com/nPict57R
-
我已经发布了一些关于这两个标准工具的信息。您可能想尝试一下,它们可以为您节省很多时间。一段时间后,您当前的代码将难以阅读。
-
@rok,您对什么是“合法”非常具体。究竟允许哪些选项?他们中的哪一个会争论?哪些是强制性的?没有具体要求,你应该如何得到你想要的?
标签: bash