bash - Linux:循环从文件中读取 url,从命令行打开它,然后等待指定的时间,然后关闭 Web 浏览器
问题描述
我想创建一个 bash 脚本,它从文件中读取 URL,在浏览器中打开它,等待特定时间然后关闭它并重复该过程。这是我编写的代码,但它只打开第一个 URL 并停在那里
#!/bin/bash
while read p; do
firefox "$p";
sleep 3;
wmctrl -c firefox;
done <TLS
解决方案
如果要打开所有这些链接,则需要将 firefox 进程发送到后台。这是通过“&”符号完成的
所以对你来说
firefox "$p" &
编辑:简短解释为什么您的代码不起作用:
Bash 执行 firefox 命令并等待它结束(这将通过关闭它),然后它继续执行 sleep 命令。但是如果你知道将它发送到后台,bash 会立即执行 sleep 命令,而不是等待 firefox 命令完成。