例如,cat
没有选项'-a'
当我尝试运行cat -a
时,我收到错误消息和使用行。我可以以某种方式获得真值吗?
或者我必须做以下事情:
MESS=$(cat -a)
ERROR='illegal option -- a
usage: cat [-benstuv] [file ...]'
if [ "$MESS" = "$ERROR" ] ; then
....
(虽然这不起作用,它仍会将消息打印到屏幕上而不是将其存储到MESS中)
答案 0 :(得分:2)
你可以看到某些程序手册,以查看ex。
的可用选项man cat
答案 1 :(得分:0)
Unix程序在解析命令行选项时具有很大的灵活性,并且已识别选项的列表不以机器可读的形式公开。不正常的程序甚至可以改变其从运行到运行的已识别选项。充其量,您将不得不使用基于解析手册页和错误输出的启发式方法,但这很容易出错。
然而,一切都不会丢失。 The fish(1) shell有很多神奇之处可以猜测标签完成的可能选项,你可以检查它的代码,看看它是如何完成的。