我想知道如何从另一个脚本调用脚本(我知道),但是,关闭保留在后台的第一个脚本进程。
我用这个:
#!/bin/bash
#script
echo "first script"
./ second.sh
当我这样做时,第一个脚本仍然在后台,当我用EXIT命令关闭第二个脚本时,它返回到第一个脚本。
答案 0 :(得分:1)
使用exec
:
exec second.sh
这完全取代了原始的shell(脚本)和新的。(/ p>)
符号./
不起作用;你不能执行当前目录。如果您考虑. second.sh
,则会将新脚本读入当前脚本。如果你在考虑./second.sh
,那么你需要写exec ./second.sh
。
严格来说,第一个脚本不在后台;它只是等待执行的程序(恰好是第二个shell脚本)来完成。 '在后台'具有“运行”的特定内涵,而第一个脚本在您运行second.sh
时未主动运行。