0

我有一个 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命令发现自己阻止了该脚本的||执行。

4

1 回答 1

0

请参阅原始帖子上的编辑。

我正在运行的脚本名为“check_queue_reader.sh”,并使用 grep 搜索ps -ef“queue_reader.sh”。这导致脚本自行定位,因此在到达时无法通过检查||

于 2012-04-16T20:51:30.167 回答