Como escrever simples se condição em cinza?

1

Eu gostaria de escrever um pequeno script que checaria de vez em quando se eu tivesse conexão com a internet. Eu gostaria de executá-lo em crontab no meu roteador, onde eu tenho ash .

Estou com dificuldades usando ash com condicionais

Até agora eu cheguei a algo assim:

#!/bin/ash

echo $i
if [ $(ping -c 1 google.com) -eq 0 ]
then
  echo "IT WORKS :)"
else
  echo "no internet :( "
fi

Mas isso me causa esse erro:

# ./restart_on_no_connection.sh 
ash: google.com: unknown operand
no internet

Alguma idéia?

    
por Patryk 28.02.2014 / 19:21

1 resposta

5

Eu entendo que ash é derivado de Bourne, então acho que isso deve funcionar:

if ping -c1 www.google.com > /dev/null; then
    echo "It worked"
else
    echo "No dice"
fi
    
por 28.02.2014 / 20:02