.dllを使用してファイルが作成されたことを確認するためのきちんとした方法を探していますcp -u
。
かなり多くのファイルを更新する小さなシェルスクリプトがあります。現在のスクリプトは、コピーさecho
れるファイルごとに小さなメッセージを提供します。
echo
これで、ファイルが実際に更新されたときにのみ実行されるようにスクリプトを変更したいと思います。cp -u
ファイルがコピーされない場合は、エラーコードが返されたことを確認しましたが、コピーされません。
ファイルタイムスタンプを手動で比較するよりも良い方法はありますか?
ベストアンサー1
if [ "$(cp -uv source destination)" != "" ]; then echo copied; else echo not copied; fi
修正する
cpの詳細出力で"->"と一致します。これは、コピーが成功し、ファイル名に「->」が含まれていない場合にのみ発生します。
if [[ "$(cp -uv source destination)" =~ \-\> ]]; then echo copied; else echo not copied; fi