"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

하지만 출력 리디렉션을 이와 같은 스크립트에 넣을 수 있나요?

test2.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

관련 정보