shell命令含义(反斜杠和grep)

时间:2013-10-24 08:12:33

标签: bash grep

我错误输入|(bar)为\(反斜杠)

locate abcdef \ grep 2
像这样。然后bash开始查找名称中包含“2”的所有文件 为什么会这样?

3 个答案:

答案 0 :(得分:5)

你的命令:

locate abcdef \ grep 2

locate之后发出其余文本,即\ grep 2作为locate命令的参数,因此它开始处理locate命令(grep根本没有执行)。

答案 1 :(得分:3)

反斜杠只是在被shell解释为参数分隔符之后才逃脱了空间。所以你现在称之为带有三个参数的locate命令,第一个是abcdef,第二个是 grep(带有前导空格),第三个是2

在这种情况下,

locate会列出中至少有一个搜索字词的所有文件。

答案 2 :(得分:0)

您的命令将找到系统中文件名为2的所有文件。因为\是一个通配符,它​​会禁用NAME by *NAME*的隐式替换。

locate filename \ grep 2

这将忽略文件名并开始搜索文件名为

的文件