Como eu executo uma seqüência de comandos escrevendo uma linha no bash? [fechadas]

1

Com o intérprete do cmd.exe, isso é fácil:

echo testline > .\test.txt && c:\windows\system32\notepad.exe .\test.txt

Qual é o equivalente a isso com o bash?

Por exemplo, o vim não é executado quando eu executo o seguinte:

 ./check_nrpe -H 192.168.100.20 -c CheckEventLog -a MaxWarn=1 MaxCrit=1 file='Security' filter=out filter+eventType==auditFailure filter+generated=\<10m filter+eventID==534 filter+message=substr:'mbrown' descriptions > test1.csv && vim test1.csv

Tem a ver com o redirecionador duplo?

    
por mbrownnyc 31.08.2011 / 21:18

2 respostas

3

& & funciona com curto-circuito e o segundo comando será executado apenas se o primeiro comando estiver correto. Você pode tentar usar; separar dois comandos se estiver ok para o segundo comando executar incondicionalmente.

    
por 31.08.2011 / 21:48
2

Use o separador && . Apenas como cmd.exe.

sudo apt-get update && sudo apt-get dist-upgrade
    
por 31.08.2011 / 21:22