flock -x -w 5 ~/counter.txt 'COUNTER=$(cat ~/counter.txt); echo $((COUNTER + 1)) > ~/counter.txt'
Como eu passaria vários comandos para flock
o exemplo acima?
Tanto quanto eu entendo, flock
leva sinalizadores diferentes (-x para exclusivo, -w para tempo limite), depois o arquivo a ser bloqueado e o comando a ser executado. Não tenho certeza de como passaria dois comandos para essa função (defina a variável com o conteúdo do arquivo bloqueado e depois incremente esse arquivo).
Meu objetivo aqui é criar um incremento atômico para um arquivo, bloqueando-o toda vez que um script tenta acessar o counter.txt
arquivo.