flock -x -w 5 ~/counter.txt 'COUNTER=$(cat ~/counter.txt); echo $((COUNTER + 1)) > ~/counter.txt'
Як я можу передати кілька команд, flock
як у наведеному вище прикладі?
Наскільки я розумію, flock
приймає різні прапори (-x для ексклюзивного, -w для таймаут), потім файл для блокування і потім команда для запуску. Я не впевнений, як я передавав би дві команди в цю функцію (встановити змінну із вмістом заблокованого файлу, а потім збільшити цей файл).
Моя мета тут - створити дещо атомний приріст для файлу, блокуючи його щоразу, коли сценарій намагається отримати доступ до counter.txt
файлу.