首页 > 解决方案 > Linux:循环从文件中读取 url,从命令行打开它,然后等待指定的时间,然后关闭 Web 浏览器

问题描述

我想创建一个 bash 脚本,它从文件中读取 URL,在浏览器中打开它,等待特定时间然后关闭它并重复该过程。这是我编写的代码,但它只打开第一个 URL 并停在那里

#!/bin/bash
while read p; do
  firefox "$p";
  sleep 3;
  wmctrl -c firefox;
done <TLS

标签: bashfirefoxbackground-process

解决方案


如果要打开所有这些链接,则需要将 firefox 进程发送到后台。这是通过“&”符号完成的

所以对你来说

firefox "$p" &

编辑:简短解释为什么您的代码不起作用:

Bash 执行 firefox 命令并等待它结束(这将通过关闭它),然后它继续执行 sleep 命令。但是如果你知道将它发送到后台,bash 会立即执行 sleep 命令,而不是等待 firefox 命令完成。


推荐阅读