ファイルが実際に存在することを確認した後に存在しない場合、どのようにこれが起こりますか?

ファイルが実際に存在することを確認した後に存在しない場合、どのようにこれが起こりますか?

2台のサーバーでうまく動作していたシェルスクリプトがあり、一方のサーバーではまだ動作しているように見えましたが、別のサーバーでは1日に数回失敗し始めました(1時間に1回実行され、非常に不規則に2〜8回失敗しました)。

ログには、存在しないファイルを移動しようとしたため、失敗したと表示されます。より多くのデバッグ時に、ファイルを移動する前にファイルが存在することを確認してスクリプトを安定させることができると思ったので、次のようになりました。

[ -f .sha1sums.txt ] || exit 0;
mv .sha1sums.txt sha1sums.txt

ただし、毎日何度も失敗し、次のように記録します。

mv: cannot stat '.sha1sums.txt': No such file or directory

(台本に奇妙な文字があるかどうかを確認しましたが、まったくありませんでした)

これがどのように起こったかについての最善の推測は、現在他のものと競合してファイルを削除していますが、それが何であるかわからないので、別の説明(またはタイプミスを探しています)を探しています。入ることができます。

.sha1sums.txt(PSビルドコマンドは、それを表示するために6日前にデバッグ出力を追加して以来失敗しませんでした。)

ベストアンサー1

おすすめ記事