flock -x -w 5 ~/counter.txt 'COUNTER=$(cat ~/counter.txt); echo $((COUNTER + 1)) > ~/counter.txt'
flock
上記の例のように複数のコマンドを渡すにはどうすればよいですか?
私が理解している限り、flock
異なるフラグ(-xは排他的、-wはタイムアウト用)、次にファイルをロックし、次にコマンドを実行します。この関数に2つのコマンドを渡す方法がわからない(ロックされたファイルの内容で変数を設定してから、このファイルをインクリメントする)。
ここでの目標は、スクリプトがcounter.txt
ファイルにアクセスしようとするたびにファイルをロックすることにより、ファイルに多少アトミックな増分を作成することです。