2016-05-01 33 views
0

我想推出多個網站(通過zenity選中標記選擇)。我已經成功但有點麻煩Bash&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打開,選中的網站將在新的Firefox窗口打開,而不是現有的窗口&新的標籤。這不會發生,如果我檢查單個網站。如果我使用類似

$browser site1 
$browser site2 ... 

問題可以規避所以我怎麼能切片輸出(收集由空格字符分隔網站)zenity &然後通過他們每個人鏈產生的指示?

回答

1

可以遍歷(因此開放逐個)在以這種方式$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