쉘 스크립트에서 호출 된 함수에서 값을 반환하고 싶습니다. 아마도 구문이 누락되었습니다. 전역 변수를 사용해 보았습니다. 그러나 그것은 또한 작동하지 않습니다. 코드는 다음과 같습니다.
lockdir="somedir"
test() {
retval=""
if mkdir "$lockdir"
then # Directory did not exist, but it was created successfully
echo >&2 "successfully acquired lock: $lockdir"
retval="true"
else
echo >&2 "cannot acquire lock, giving up on $lockdir"
retval="false"
fi
return retval
}
retval=test()
if [ "$retval" == "true" ]
then
echo "directory not created"
else
echo "directory already created"
fi
질문과 관련이 없지만 어쨌든 ... 잠금을 얻으려는 경우 "lockfile"명령을 사용할 수 있습니다.
—
Víctor Herraiz 2014