很容易从通用语法中选择一个:
在一行中运行多个命令(cmd1、cmd2、cmd3):
cmd1 & cmd2 & cmd3 // 从左到右运行所有命令 (& => all)
cmd1 && cmd2 && cmd3 // 从左到右运行所有命令,在第一次失败时停止 (&& => 直到失败)
cmd1 | cmd2 | cmd3 // 从左到右运行所有命令,在第一次失败时停止,还 | 是将 cmd1 输出发送到 cmd2 等的管道,因此如果要将输出传递给其他命令,请使用 when - (| => 直到失败 + 从左到右传递输出)
cmd1 || cmd2 || cmd3 // 从左到右运行所有命令,停止第一次成功(|| => 直到良好)
概括:
& => run all
&& => run L2R till fail
| => run L2R till fail + pass output of left to right
|| => run L2R till good
where, L2R is left to right
Run Code Online (Sandbox Code Playgroud)
希望有帮助。
运行两个命令使用&. 这两个命令都会被执行:
dir file.txt & echo done
Run Code Online (Sandbox Code Playgroud)
用于&&仅在第一个命令成功时才执行第二个命令:
dir existentfile.txt && echo done
Run Code Online (Sandbox Code Playgroud)
用于||仅在第一个命令失败时运行第二个命令:
dir nonexistentfile.txt || echo not found
Run Code Online (Sandbox Code Playgroud)
您可以组合:
dir questionablefile.txt && (echo file exists) || (echo file doesn't exist)
Run Code Online (Sandbox Code Playgroud)