同じディレクトリで同じスクリプトの二重実行を防ぐ方法

同じディレクトリで同じスクリプトの二重実行を防ぐ方法

同じスクリプトで使用される作業ディレクトリ/フォルダに複数のファイルを生成する.sh実行可能ファイルを作成しました。同じフォルダで2回実行すると、スクリプト内のループが新しいファイルと以前に作成したファイルの両方を使用するため、混乱する可能性があります。同じフォルダ内の同じスクリプトの二重実行を防ぐオプションはありますか?その後、echo "これはここで行われました。フォルダを変更してください"

答え1

スクリプトが起動したら、「.i_am_running」ファイルがあることを確認してください。ファイルが存在しない場合は、ファイルを作成し、ジョブを実行してファイルを削除します。存在する場合 - プロセスの2番目のインスタンスの場合はすぐに終了します。

答え2

出力ファイル名は異なりますが、拡張子は同じです。なぜなら、私のループは "for file in *.bam"のようなもので、すべてのbamファイルが新しいループ、古いループ、新しいループを通過するからです。

正直に言うと、問題と正しい解決策を特定しました(生成されたファイルのリストを.dllではなく変数に保存するだけです)*.bam

それは「優雅さ」の問題ではありません。今あなたがしていることはそんなに間違いです。

関連情報