bash – 匹配STDOUT中的字符串时运行进程
发布时间:2020-12-15 21:00:34 所属栏目:安全 来源:网络整理
导读:我正在使用 Jekyll运行我的博客,我认为当本地开发服务器完成启动时,在新的浏览器选项卡中自动打开网站是个不错的主意. 当你运行jekyll serve时,你会得到如下输出: Configuration file: /Users/jgt/Sites/jezen.github.io/_config.yml Source: /Users/jgt/Si
我正在使用
Jekyll运行我的博客,我认为当本地开发服务器完成启动时,在新的浏览器选项卡中自动打开网站是个不错的主意.
当你运行jekyll serve时,你会得到如下输出: Configuration file: /Users/jgt/Sites/jezen.github.io/_config.yml Source: /Users/jgt/Sites/jezen.github.io Destination: dist Generating... done. Configuration file: /Users/jgt/Sites/jezen.github.io/_config.yml Server address: http://0.0.0.0:4000/ Server running... press ctrl-c to stop. 我曾想过在子shell中运行jekyll serve并听取它的输出.也许我可以同时启动并发无限循环,读取一些stdout并运行打开http://0.0.0.0:4000然后在匹配时运行字符串“Server running”时退出.我的bash-fu尚未达到我可以一起破解的程度. 我该怎么做呢? 解决方法
你可以在bash中做这样的事情:
(jekyll serve) | while read line; do [[ $line =~ "Server running" ]] && open http://0.0.0.0:4000 done 这将在子shell中运行jekyll,并将stdout传递给循环.然后它使用bash正则表达式匹配来匹配包含单词“Server running”的行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |