bash 腳本中出現意外單字(需要「then」)

bash 腳本中出現意外單字(需要「then」)

你好,這是我的腳本。

#!/bin/bash
service=dmsspeechbatch-0.0.jar #(name of the service)
if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "$service is running"
else
cd /application/TextToSpeech/dmsspeechbatch
nohup java -jar target/dmsspeechbatch-0.0.jar &
fi

我收到這個錯誤

文法錯誤:單字意外(需要“then”)

我該怎麼辦?

謝謝!

答案1

bash這一行中:

if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))

應該

if [ $(ps -ef | grep -v grep | grep $service | wc -l) -gt 0 ]

該行也可以這樣優化:

if [ $(pgrep $service | wc -l) -gt 0 ]

並刪除第一行的前導空格

相關內容