我在shell脚本中有一段代码如下..
run_checks()
{
# Check if program is already running
if ! mkdir /tmp/aisync.lock; then
printf "Failed to aquire lock.\n" >&2
exit 1
fi
trap 'rm -rf /tmp/aisync.lock' EXIT
}
它基本上检查 aisync.lock 是否存在,如果存在则失败,以防止同一 shell 脚本的多个实例运行。
但是,如果我从控制台运行它,我会得到..
# syncai.sh
mkdir: 0653-358 Cannot create /tmp/aisync.lock.
/tmp/aisync.lock: Do not specify an existing file.
Failed to aquire lock.
有没有办法避免错误?
mkdir: 0653-358 Cannot create /tmp/aisync.lock.
/tmp/aisync.lock: Do not specify an existing file.
所以当我从命令行运行它时它看起来更干净。我知道如果我 cron 它我可以将所有内容发送到我打算做的 /dev/null 。但是从控制台手动运行我怎样才能从打印出来?
谢谢。