0
这是我的shell脚本中的一条语句。 $ {origin}和$ {archive}是2个目录。如何在shell脚本中检查并使用cp命令的状态?
该命令读取$ {origin}文件夹中的所有jpg,png和jpeg文件,并将它们复制到$ {archive}文件夹中。
find ${origin} -regex '.*\(jpg\|png\|jpeg\)' -exec cp -n {} ${archive} \;
我想的是,如果CP成功地复制文件,(也表明该文件没有在$ {}存档文件夹中存在),它会执行一些命令。
问题:
我怎么能知道是否CP成功复制该文件,在shell脚本?
我可以在哪里放置if语句?
感谢您的回答。它完美地解决了我的问题。是否有可能检查cp命令是否覆盖shell脚本中的现有文件? –
您可以使用像'-exec test -f $ {archive}/{} \;'这样的命令,只有当文件已经存在于目标中时,才会继续处理。在'test'前放一个'!'来反转检查。 –