Adicione a próxima linha de comando depois de validar o primeiro comando [duplicado]

0

É possível inserir a próxima linha de comando assim:

command1 ; command2;

Após validar command1 ?

Por exemplo, eu faço:

make 

E demora muito tempo! Eu quero dizer: depois desse comando: do ./myprogram Então eu posso tomar um café, e não apenas esperar até que termine de lançar o próximo comando.

    
por Fractale 07.06.2016 / 23:48

2 respostas

1

Claro que você pode fazer isso, basta adicionar um && ou || no final da linha, dependendo de que você deseja que a ação seja executada se o comando anterior for bem-sucedido ou falhar. Então, para o exemplo a seguir, eu uso as atualizações usuais, mas funciona com quase todos os comandos.

#!/bin/bash
# an example upgrade script, call with sudo ./scriptname.sh
apt-get update &&
apt-get -y dist-upgrade &&
apt-get -y autoremove &&
apt-get clean

Isso seria para um script que apenas encaminha a sucessão dos comandos antes. note que a última linha não tem && , isto é porque você lançaria um erro se estivesse lá, porque não há nenhum próximo comando para pular para.

Agora, um exemplo de falha, devemos? Tomando novamente o mesmo exemplo, mas eu quero que meu computador me diga o quão boba minha ação foi ( brincando ):

#!/bin/bash
# an example upgrade script, call with sudo ./scriptname.sh
apt-get update &&
(apt-get -y dist-upgrade &&) || echo "THIS was not working right"
apt-get -y autoremove &&
apt-get clean

Então, se o comando falhar, alguma coisa, para mais leitura no bash shell script você pode visitar os links que eu incluí aqui:

link

link

    
por Videonauth 08.06.2016 / 00:03
0

Para isso você precisa colocar && entre os comandos consecutivos para que eles executem um por um

    
por rancho 08.06.2016 / 00:01