我有一个bash脚本start.sh
,它会调用另一个run.sh
,这会将我带到另一个提示符,我必须删除文件file.txt
,然后退出该提示符。
当我从run.sh
内部呼叫start.sh
时,我看到了提示,我相信它会删除file.txt
,但内部/新提示会等待我退出脚本正在运行 - 这意味着它需要干预才能继续。我如何在bash中避免它?
在Python中,我可以使用Popen来实现它但不确定bash。
编辑:我想知道要退出shell的命令(从运行run.sh"生成),这样我就可以回到提示符" start.sh&#34 ;开始了。Etan:回答你的问题
VirtualBox:~/Desktop/ > ./start
company@4d6z74d:~$ ->this is the new shell
company@4d6z74d:~$ logout ---> I did a "Control D here" so the script could continue.
start.sh的相关部分:
/../../../../run.sh (this is the one that takes us to the new $ prompt)
echo "Delete file.txt "
rm -f abc/def/file.txt
答案 0 :(得分:1)
您可以使用&
在后台运行run.sh.在start.sh中,您将通过/path/run.sh &
调用脚本。现在,start.sh将退出而不等待run.sh完成(它在后台运行)。