为什么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