Bash 如何理解;grep—颜色[Cat]<<<&引用;尼克斯克拉夫特“&引用;?

Bash 如何理解;grep—颜色[Cat]<<<&引用;尼克斯克拉夫特“&引用;?,bash,Bash,我读过这篇文章,但不明白这句话是什么意思: grep --color [Cat] <<<"nixCraft" grep--color[Cat][Cat]表示文件名扩展-它将匹配名为C、a或t的任何文件。在您的情况下,似乎有一个名为a的文件,因此您的命令扩展为: grep --color a <<<"nixCraft" grep——颜色a[Cat]表示文件名扩展-它将匹配名为C、a或t的任何文件。在您的情况下,似乎有一个名为a的文件,因此您的命令扩展为: g

我读过这篇文章,但不明白这句话是什么意思:

grep --color [Cat] <<<"nixCraft"

grep--color[Cat]
[Cat]
表示文件名扩展-它将匹配名为
C
a
t
的任何文件。在您的情况下,似乎有一个名为
a
的文件,因此您的命令扩展为:

grep --color a <<<"nixCraft"

grep——颜色a
[Cat]
表示文件名扩展-它将匹配名为
C
a
t
的任何文件。在您的情况下,似乎有一个名为
a
的文件,因此您的命令扩展为:

grep --color a <<<"nixCraft"

grep--color a正常情况下,它可以按预期工作:

但是,由于您使用了“裸”模式
[Cat]
,因此它受shell文件名扩展的影响:

grep --color '[Cat]' <<<"nixCraft"

在这种情况下,
bash
[Cat]
解释为表示任何文件
C
a
t
。在上述情况下,只有
a
存在,因此命令变为:

grep --color a <<<"nixCraft"

正常情况下,它会按预期工作:

但是,由于您使用了“裸”模式
[Cat]
,因此它受shell文件名扩展的影响:

grep --color '[Cat]' <<<"nixCraft"

在这种情况下,
bash
[Cat]
解释为表示任何文件
C
a
t
。在上述情况下,只有
a
存在,因此命令变为:

grep --color a <<<"nixCraft"

你打对了吗?C、a和t都应该是彩色的。@ChrisHayes:是的,它只是
a
彩色的。你试过了吗?是的,我运行过,三个字母都是彩色的,很像@paxdiablo的答案。你的
grep
可能有点奇怪?你打对了吗?C、a和t都应该是彩色的。@ChrisHayes:是的,它只是
a
彩色的。你试过了吗?是的,我运行过,三个字母都是彩色的,很像@paxdiablo的答案。你的
grep
可能有点奇怪?是的,目录中有一个文件
a
。卸下它后,它就可以工作了!谢谢@楠晓,要知道删除文件不是解决办法。引用正则表达式是正确的。@paxdiablo:好的,非常感谢你的建议!是的,目录中有一个文件
a
。卸下它后,它就可以工作了!谢谢@楠晓,要知道删除文件不是解决办法。引用正则表达式是正确的。@paxdiablo:好的,非常感谢你的建议!