これはシェルスクリプト内の文です。 $ {origin}と$ {archive}は2つのディレクトリです。シェルスクリプトでcpコマンドのステータスをチェックして使用する方法は?
このコマンドは、$ {origin}フォルダ内のすべてのjpg、png、およびjpegファイルを読み込み、$ {archive}フォルダにコピーします。
find ${origin} -regex '.*\(jpg\|png\|jpeg\)' -exec cp -n {} ${archive} \;
は、私が欲しいのはCPが正常にファイルをコピーする場合、それはいくつかのコマンドを実行します(また、ファイルは$ {}アーカイブフォルダに存在しないことを示している)ということです。
質問:
は、どのように私は、CPが正常にシェルスクリプトでは、ファイルをコピーするかどうかを知ることができますか?
if文はどこに置くことができますか?
あなたの答えをありがとう。それは私の問題を完全に解決しました。 cpコマンドがシェルスクリプト内の既存のファイルを上書きするかどうか確認できますか? –
'-exec test -f $ {archive}/{} \;'のようなコマンドを使うことができます。これはファイルがすでにターゲットに存在する場合にのみ処理を続けます。チェックを逆転させるために 'test'の前に'! 'を入れてください。 –