如何使用php内置的webserver在一个命令中从当前目录中提供和打开网站?
用于php内置webserver的命令是:
php [options] -S <addr>:<port> [-t docroot]
但是这是一个运行命令,因此以下命令不起作用:
php -S 127.0.0.1:8000 && open 127.0.0.1:8000
目的是创建一个单独的别名命令,以便在启动Web服务器后直接在浏览器中打开网站(所有这些都来自单个命令):
alias lserve="php -S 127.0.0.1:8000 && open 127.0.0.1:8000"
最佳答案 在后台运行服务器:
php -S 127.0.0.1:8000 & open 127.0.0.1:8000
请注意,我只使用一个&在后台开始工作.这与逻辑和操作符&& Bash的语法不允许跟随&的命令.由…分开;
但是,该解决方案仍然存在问题.由于服务器在后台运行,因此无法使用单个^ C关闭浏览器和服务器.要实现这一点,您需要在子shell中启动这两个命令:
(trap 'kill 0' SIGINT; php -S 127.0.0.1:8000 & open http://127.0.0.1:8000)
现在你可以把它放到一个别名中:
alias lserve="(trap 'kill 0' SIGINT; php -S 127.0.0.1:8000 & open http://127.0.0.1:8000)"