слово неожиданное (ожидается «тогда») в скрипте bash

слово неожиданное (ожидается «тогда») в скрипте bash

Привет, это мой сценарий.

#!/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

Я получаю эту ошибку

Синтаксическая ошибка: неожиданное слово (ожидается «тогда»)

Что я должен делать?

Спасибо!

решение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 ]

а также удалить начальные пробелы в первой строке

Связанный контент