Bash posso usar AND e OR na mesma linha?

2

Quando eu compilo meu código, geralmente faço algo parecido com o seguinte:

make remake 2> error.txt || less error.txt

Então, se less não aparecer, copio meu código em um diretório exe .

Eu gostaria que o comando copy fosse executado automaticamente se a compilação fosse bem-sucedida. Por exemplo, eu poderia fazer:

make remake 2> error.txt && cp ./bin/out.out ../exe/out.out

no entanto, eu perderia o recurso útil que menos aparece com meus erros se a compilação falhar.

É possível combinar os dois juntos?

Obviamente

make remake 2> errors.txt || less errors.txt && cp ./bin/out.out ../exe/out.out

não funcionará, porque o && fará com que o comando cp seja executado toda vez que eu sair do less (assumindo que ele retorne 0) no caso onde o comando de compilação falha.

É possível realizar o que estou tentando fazer em uma linha de linha de comando?

    
por user3728501 03.01.2017 / 19:26

1 resposta

4

Aqui você está:

make remake 2> errors.txt && cp ./bin/out.out ../exe/out.out || less errors.txt
    
por 03.01.2017 / 19:30

Tags