在Bash中,我们可以运行这样的程序./mybin && echo "OK"
而这./mybin || echo "fail"
但是我们如何将成功或失败的命令与现有的过程联系起来呢?
编辑解释:
现在我们运行./mybin
。
当mybin
退出有或没有错误,它将什么也不做,但在mybin
运行期间,
我怎样才能达到像启动./mybin && echo ok || echo fail
这样的过程一样的效果?
无论是shell脚本还是python编程方式都非常棒,谢谢!
最佳答案
但是我们如何将成功或失败的命令放在已经存在的进程中呢?
假设您引用的是在后台运行的命令,那么可以使用wait
等待该命令完成并检索其返回状态。例如:
./command & # run in background
wait $! && echo "completed successfully"
这里我使用
$!
来获取后台进程的PID,但它可以是shell的任何子进程的PID。