私信  •  关注

Maxim Egorushkin

Maxim Egorushkin 最近创建的主题
Maxim Egorushkin 最近回复了
11 年前
回复了 Maxim Egorushkin 创建的主题 » 在bash中激活虚拟环境并在一个命令中执行python脚本?

你正在使用 | (管道)将一个命令的输出引导到另一个命令。你要找的是 && 操作员仅在前一个命令成功时执行下一个命令:

cp /templates/apple /templates/used && cp /templates/apple /templates/inuse && rm /templates/apple

cp /templates/apple /templates/used && mv /templates/apple /templates/inuse

总结(非详尽地)bash的命令运算符/分隔符:

  • | 管道标准输出( stdout )将一个命令转换为另一个命令的标准输入。注意 stderr 不管发生什么,它仍然会进入默认的目的地。
  • |& 两条管道 斯特杜特 标准错误 将一个命令转换为另一个命令的标准输入。非常有用,在bash版本4及更高版本中提供。
  • && 执行 && 除非上一次成功。
  • || 执行 || 只是前一次失败了。
  • ; 执行 ; 始终不考虑上一个命令是否成功。除非 set -e 之前被调用,这导致 bash 因错误而失败。