为什么find命令的-exec选项需要反斜杠和分号?

我已经开始在linux终端中组合不同的命令。我想知道为什么这样的命令需要反斜杠和分号:

find ./ -name 'blabla' -exec cp {} ./test \;

当一个简单的cp命令只是:

cp randomfile ./test

没有\;

是要清楚地指示命令的结束,还是只是在文档中要求?基本原理是什么?

谢谢!

回答:

分号之前反斜杠用于,因为;是列表操作符(或之一&&||),用于分离外壳命令。例如:

command1; command2

find实用程序正在使用;+终止由调用的shell命令-exec

因此,为避免解释特殊的外壳字符,需要使用反斜杠将其转义,以删除下一个读取的字符以及换行的任何特殊含义。

因此,find命令允许使用以下示例语法:

find . -exec echo {} \;

find . -exec echo {} ';'

find . -exec echo {} ";"

find . -exec echo {} \+

find . -exec echo {} +

以上是 为什么find命令的-exec选项需要反斜杠和分号? 的全部内容, 来源链接: utcz.com/qa/428067.html

回到顶部