我有一个 bash 脚本,它应该检查程序的运行实例,如果它没有运行,则执行命令(用于测试目的的回显)。问题是,即使当我将命令直接复制/粘贴到命令行时,bash 也不会执行该命令。我想我的问题很简单,是由于我对脚本语言的幼稚造成的。
有问题的行:
ps -ef | grep -v grep | grep $SCRIPT > /dev/null || echo "`date` - $0 : $SCRIPT stopped. Restarting..."
如果我将它粘贴到命令行,它可以完美运行,但是当我运行我的脚本时没有任何反应。建议?
编辑:我相信我已经解决了这个问题。queue_reader.sh
为检查我愚蠢地命名为“的脚本而运行的脚本check_queue_reader.sh
”,因此该ps -ef
命令发现自己阻止了该脚本的||
执行。