comparação de bash de inteiro sempre retorna true?

-1

Eu tenho o seguinte script simples. por alguma razão, sempre retorna verdadeiro.

#!/bin/bash
service=hhvm
status=($(ps -ef | grep -v grep | grep $service | wc -l))
if [[ $status -eq 0 ]]; then
    echo "starting $service"
    service hhvm start
else
    echo "$service running"
fi
    
por r3wt 14.01.2015 / 15:25

2 respostas

2

Roteiro final que funcionou. no bate-papo

#!/bin/bash
service=hhvm
if ! (($(ps -ef | grep -v "grep"| grep "$service" | wc -l))) ; then
    echo "starting $service"
    service hhvm start
else
    echo "$service is running"
fi
    
por devWeek 14.01.2015 / 17:53
2
foo=3
if [[ $foo -eq 0 ]]; then     # -eq: equal
  echo "foo equals 0"
else
  echo "foo is not equal to 0"
fi
    
por Cyrus 14.01.2015 / 15:29