如何开始一份工作,做一些不同的事情,然后重新开始

如何开始一份工作,做一些不同的事情,然后重新开始

我想通过 Python 启动一个 Web 服务器。成功后,我想在默认浏览器中打开页面(在 macOS 上,您可以使用命令执行此操作open),然后我想再次恢复之前的脚本。

这不起作用:

#!/usr/bin/env bash
cd wwwroot
python3 -m http.server &
open http://0.0.0.0:8000
fg 1

我无法使用jobs, 并打开 URL,然后运行 ​​Python 脚本。但是,我不想重新加载该 URL 的页面。 Python 将继续运行,直到被Ctrl+C.

也许,当Python还没有准备好时,open命令需要有一个命令......sleep

答案1

经过一番实验,这似乎$!就是你想要的变量。例子:

(sleep 1 && open http://0.0.0.0:8000) &
disown $!
python3 -m http.server

确保sleep(嗯,至少很可能)服务器在open执行之前已启动并运行。然而,如果python3 -m http.server花费的时间超过一秒,仍然有可能失败- 请务必记录这种可能性。

相关内容