我想通过 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
经过一些实验,这似乎
$!
是你想要的变量。例子:确保(
sleep
至少很可能)服务器在open
执行之前启动并运行。但是,如果python3 -m http.server
花费的时间超过一秒钟,仍然有可能失败——一定要记录这种可能性。