我有一个 bash 脚本,我正在其中睡觉,然后在后台进程中执行命令。例如
sleep 30s && ./script.sh &
如果我用 grep ps 查找“sleep 30s”并终止与其关联的进程,它是否也会阻止./script.sh
运行,或者我会script.sh
使用单独的 PID 执行?
答案1
我刚刚测试了一下,结果是后面的命令&&
没有执行。这是因为&&
是 bash AND 运算符;为了使 AND 命令成功,它所连接的两个命令都必须成功。如果第一个失败,则整个事情都会失败,因此 shell 足够聪明,不会费心执行现在多余的命令。