Como fazer um loop usando While e saia após o sucesso

0

Então, eu estou em um laptop Ubuntu 13.04 e estava me perguntando como eu poderia fazer o loop de um comando até conseguir.

Estou tentando fazer um loop "adb connect 192.168.1.102:5555" (para conectar-se ao meu dispositivo Android via wifi) a cada 5 segundos, mas ele deve ser encerrado depois de ter sido bem-sucedido. Estou tendo problemas com o último, fazendo com que ele saia depois de ter sucesso. Eu tenho o seguinte código até agora, mas não sei o que eu preciso fazer para que ele saia depois que ele for bem-sucedido.

link

Eu sei que isso provavelmente poderia ser mais curto e mais eficiente, mas estou contente com tudo, mas fazendo com que ele saia assim que o comando for bem-sucedido.

Obrigado! Cole H

    
por draggehn 03.09.2013 / 02:48

1 resposta

0

Tente com

i=1
while ! 'adb connect 192.168.1.102:5555 >/dev/null 2>&1' ; do
  echo "Attempt $i) adb: Failed to connect!"
  i=$(( i + 1 ))
  echo "  I will try again in 5 seconds"
  sleep 5
done
echo "adb: Connection successful!"

O loop deve sair se adb "sucessos" ou se você pressionar Ctrl + C .

    
por edwin 04.09.2013 / 01:54