#!/bin/bash
(
flock -n 200 || exit 1
# commands executed under lock
sleep 3
echo "TEST"
) 200 > /home/nis/Scripts/lock.txt
Запуск этого сценария вызывает следующую ошибку:
lock.sh: 7: lock.sh: Syntax error: word unexpected
Я не Не понимаю, почему это происходит. Он работает на моем QNAP (Busybox)
Подавить пробел после 200
:
...
) 200> /home/nis/Scripts/lock.txt
Что 200>
делает, так это перенаправляет файловый дескриптор 200 в данный файл. Затем вы используете этот файловый дескриптор с flock
, чтобы заблокировать файл.