我已经开始在linux终端中组合不同的命令。我想知道为什么命令需要反斜杠和分号,例如:
find ./ -name 'blabla' -exec cp {} ./test \;
当一个简单的 cp 命令很简单时:
cp randomfile ./test
没有\;
它们是为了清楚地指示命令的结束,还是只是在文档中要求?其根本原理是什么?
使用分号之前的反斜杠,因为;
是列表运算符之一(或&&
, ||
) 用于分隔 shell 命令。在示例中:
command1; command2
The find
实用程序正在使用;
or +
终止调用的 shell 命令-exec
.
因此,为了避免解释特殊的 shell 字符,需要使用反斜杠对其进行转义,以删除读取的下一个字符和行继续的任何特殊含义。
因此,允许使用以下示例语法find
命令:
find . -exec echo {} \;
find . -exec echo {} ';'
find . -exec echo {} ";"
find . -exec echo {} \+
find . -exec echo {} +
也可以看看:
- 在 find 中使用分号 (;) 与加号 (+) 与 exec 的比较
- 简单的unix命令,什么是{}和\;为了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)