我正在研究一个小型 bash 脚本,它计算具有特定名称的脚本运行的频率。
ps -ef | grep -v grep | grep scrape_data.php | wc -l
是我使用的代码,通过 ssh 它输出 scrape_data.php 运行的次数。例如,当前输出为 3。所以这很好用。
现在我正在尝试制作一个小脚本,当计数小于 1 时它会做一些事情。
#!/bin/sh
if [ ps -ef | grep -v grep | grep scrape_data.php | wc -l ] -lt 1; then
exit 0
#HERE PUT CODE TO START NEW PROCESS
else
exit 0
fi
上面的脚本是我到目前为止所拥有的,但它不起作用。我收到此错误:
[root@s1 crons]# ./check_data.sh
./check_data.sh: line 4: [: missing `]'
wc: invalid option -- e
我在 if 语句中做错了什么?