Bash脚本没有执行命令

时间:2012-04-16 20:20:08

标签: bash

我有一个bash脚本应该检查一个正在运行的程序实例,如果它没有运行则执行一个命令(echo用于测试目的)。问题是,当我将命令直接复制/粘贴到命令行时,即使它正常工作,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命令发现自己阻止||执行。

1 个答案:

答案 0 :(得分:0)

请参阅原始帖子的编辑。

我运行的脚本名为“check_queue_reader.sh”,并使用grep搜索ps -ef中的“queue_reader.sh”。这导致脚本找到自己,因此当它到达||

时检查失败