我已经开始在linux终端中组合不同的命令。我想知道为什么这样的命令需要反斜杠和分号:
find ./ -name 'blabla' -exec cp {} ./test \;
当一个简单的cp命令只是:
cp randomfile ./test
没有\;
是要清楚地指示命令的结束,还是只是在文档中要求?基本原理是什么?
谢谢!
分号之前反斜杠用于,因为;是列表操作符(或之一&&,||),用于分离外壳命令。例如:
;
&&
||
command1; command2
该find实用程序正在使用;或+终止由调用的shell命令-exec。
find
+
-exec
因此,为避免解释特殊的外壳字符,需要使用反斜杠将其转义,以删除下一个读取的字符以及换行的任何特殊含义。
因此,find命令允许使用以下示例语法:
find . -exec echo {} \; find . -exec echo {} ';' find . -exec echo {} ";" find . -exec echo {} \+ find . -exec echo {} +