有四个文件a
,aab
,bb
和cb
。命令为ls?[a-b]*
输出是什么?
a. aab bb
b. a aab bb
c. aab bb cb
d. cb
e. a aab bb cb
我得到b
作为答案所以请确认我是否正确。
答案 0 :(得分:2)
有问题的命令应为ls ?[a-b]*
(请注意ls
之后的空格),否则您最终可能会遇到“未找到命令”错误。
假设它确实是ls ?[a-b]*
,那意味着列表文件(ls
)以任何字符(?
)开头,后跟字母a
或{{1 (b
)后跟任何其他内容或根本没有内容([a-b]
)。
因此,这将使当前目录中的文件/目录与至少2个字母的名称匹配,第二个字母为a或b 。
答案应该是 aab bb cb (答案C)。
P.S。这实际上是一个非常漂亮的技巧问题,甚至可能会使一些经验丰富的用户绊倒,即对于globbing,*
是一个独立的通配符,并不作为前一个模式的修饰符(如正则表达式)。 / p>