以下是一个示例脚本 sample.sh
:
#!/bin/bash
if ps aux | grep -o "sample.sh" >/dev/null
then
echo "Already script running"
exit 0
fi
echo "start script"
while true
do
echo "script running"
sleep 5
done
在上述脚本中,我想要检查此脚本之前是否已经运行过,如果已经运行,则不再运行。
问题在于检查条件总是变为真(因为检查条件需要运行脚本),并且它总是显示
"Already script running"
消息。有什么办法可以解决这个问题吗?
./sample.sh: line 3: /tmp/lock../sample.sh.file: No such file or directory flock: 201: Bad file descriptor
。 - Jayesh Bhoi