如何通过在 bash 中写一行来执行一系列命令?

如何通过在 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

这和双重重定向器有关系吗?

答案1

&& 适用于短路,只有当第一个命令正确时才会执行第二个命令。如果第二个命令可以无条件执行,您可以尝试使用 ; 来分隔两个命令。

答案2

使用&&分隔符。就像cmd.exe一样。

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

相关内容