if
何かを変えるたびに、別のものが間違っているようです。問題が見えますか?
if [[ $(ps -ef | grep "Process" | grep -v "grep" | awk '{print $2}') = '' ]]; then
echo "bien"
fi
わかりました。launcher.sh[74]: 11927676^J15335522: syntax error
答え1
「Process」が固定文字列の場合は、以下を試してください。
ps -ef | awk '/[p]rocess/ {print $2}'
プロセスIDを取得します。
欠落しているプロセスを確認する場合(... = '')
if ps -ef | grep -q [P]rocess
then
echo Process present
else
echo Process absent
fi
以下を見ることもできますpgrep(1)
(例man pgrep
:)。
答え2
KSHの比較には2つの等号が必要です。==
if [[ $(ps -ef | grep "Process" | grep -v "grep" | awk '{print $2}') == '' ]]; then
echo "bien"
fi