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'前放一個'!'來反轉檢查。 –