2016-05-01 7 views
0

複数のサイトを起動したい(複数のチェックマークで選択)。私は成功したしかし少し問題複数のサイトを起動するための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を使うことで生成される出力(空白文字で区切られたウェブサイトの集合体)をスライスすることができます回避することができますか?このように$sites以上

答えて

1

あなたは(一つずつので、オープン)繰り返すことができます:

#!/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