我正在尝试:
#!/bin/bash
if $(ps -C "bm_d21_debug")
then
kill $(ps -C "bm_d21_debug" -o pid=)
echo "exists"
fi
它返回:“ PID:找不到命令”
不确定我在做什么错吗?
答案 0 :(得分:3)
考虑这一行:
if $(ps -C "bm_d21_debug")
您可以在命令替换中执行ps
命令,该命令将返回命令输出。然后,if
命令尝试将输出作为命令 运行。
ps输出的第一个单词是PID
,if
将作为命令名称处理。因此,出现“找不到命令”错误。
你只想要
if ps -C "bm_d21_debug" >/dev/null; then
echo running
else
echo NOT running
fi
答案 1 :(得分:0)
我建议也使用方括号:
if [[ $(ps -C "bm_d21_debug") ]]
但是此命令将始终返回“是”($?= 0)
答案 2 :(得分:0)
通过更改为
固定date_part