Назад | Перейти на главную страницу

Как выполнить последовательность команд, написав одну строку в bash?

С интерпретатором cmd.exe это просто:

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

Что эквивалентно этому с bash?

Например, vim не выполняется, когда я запускаю следующее:

 ./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

Это как-то связано с двойным перенаправителем?

&& работает с коротким замыканием, и вторая команда будет выполняться, только если первая команда верна. Вы можете попробовать использовать; разделить две команды, если вторая команда может выполняться безоговорочно.

Использовать && разделитель. Так же, как cmd.exe.

sudo apt-get update && sudo apt-get dist-upgrade