Bash&Zenity 启动多个网站

Bash&Zenity to launch multiple sites

我想启动多个站点(通过 zenity 复选标记选择)。我已经成功了但是有点麻烦

#!/bin/bash
browser=$(zenity --list  --text "Which browser?" --radiolist  --column "Pick" --column "Browser" TRUE firefox FALSE opera)
sites=$(zenity --height=280 --width=300 --list  --text "How linux.byexamples can be improved?" --checklist  --column "Pick" --column "Sites" TRUE http://cr4.globalspec.com/ TRUE http://www.cheresources.com/ TRUE http://www.eng-tips.com/ FALSE http://www.engineersedge.com/ FALSE http://hvac-talk.com/vbb/ FALSE http://www.refrigeration-engineer.com/ FALSE http://engineering.stackexchange.com/ FALSE http://chemistry.stackexchange.com/ --separator=" ")
$browser $sites

如果我的 firefox 已经 运行 并且我检查了 多个 站点以在 firefox 中打开,检查的网站将在 new 中打开firefox window,而不是现有的 window 和新标签。如果我检查单个站点,则不会发生这种情况。如果我使用类似

的东西就可以避免这个问题
$browser site1
$browser site2 ...

那么我如何切片 zenity 生成的输出(由 space 字符分隔的网站集合),然后按照指示链接每个网站?

您可以通过以下方式在 $sites 上迭代(并因此逐一打开):

#!/bin/bash

browser=$(zenity --list  --text "Which browser?" --radiolist  --column "Pick" --column "Browser" TRUE firefox FALSE opera)

sites=$(zenity --height=280 --width=300 --list  --text "How linux.byexamples can be improved?" --checklist  --column "Pick" --column "Sites" TRUE http://cr4.globalspec.com/ TRUE http://www.cheresources.com/ TRUE http://www.eng-tips.com/ FALSE http://www.engineersedge.com/ FALSE http://hvac-talk.com/vbb/ FALSE http://www.refrigeration-engineer.com/ FALSE http://engineering.stackexchange.com/ FALSE http://chemistry.stackexchange.com/ --separator=" ")

for site in $sites; do
  $browser $site
done