下边举例说明:
“cd /home & wine ps.exe”和“cd /home && wine ps.exe”之间的区别在于命令在类 Unix shell 环境(例如 Linux 或 macOS)中执行的方式:
- ‘cd /home & wine ps.exe’:
- 在此命令中,“&”运算符用于按顺序运行命令,但在后台运行。
- 首先,它使用“cd”命令将目录更改为“/home”,然后尝试执行“wine ps.exe”。
- 但是,由于命令是在后台执行的,因此“wine ps.exe”命令可能会在“cd”命令完成更改目录之前开始执行。 这可能会导致意外行为,特别是当“wine ps.exe”依赖于“/home”目录时。
- ‘cd /home && wine ps.exe’:
- 在此命令中,“&&”运算符用于顺序运行命令,并且仅当前面的命令 (cd /home) 成功时。
- 首先,它使用“cd”命令将目录更改为“/home”。 如果此操作成功,则会继续执行“wine ps.exe”。
- 使用“&&”可确保“wine ps.exe”仅在“cd”命令成功将目录更改为“/home”时才执行。 这可确保“wine ps.exe”在正确的目录上下文中执行。
总之,主要区别在于 ‘&&’ 确保两个命令之间的顺序执行和成功依赖,而 ‘&’ 顺序执行它们但不一定以依赖方式,可能导致意外行为。