使用“flock”时将输出重定向到日志文件

使用“flock”时将输出重定向到日志文件

我有一个像这样的 bash 脚本:

测试文件

#!/bin/bash

locks="/var/lock/userlocks"
lock=`basename "$0"`.exclusivelock

(
flock -x -w 5 200 || { echo "exiting. $lock already in use."; exit 1; }
echo "$lock acquired."
#do stuff

) 200>$locks/$lock

我可以将所有输出发送到日志文件,如下所示:

$ test.sh >> logfile.log 2>&1

但是我可以像这样将输出重定向放入脚本中吗?

测试2.sh

#!/bin/bash

locks="/var/lock/userlocks"
lock=`basename "$0"`.exclusivelock

(
flock -x -w 5 200 || { echo "exiting. $lock already in use."; exit 1; }
echo "$lock acquired."
#do stuff

) 200>$locks/$lock >> logfile.log 2>&1

现在无需重定向即可调用脚本。

$ test2.sh

相关内容