2012-08-07 16 views
0

我獲取這種格式的使用curl項目清單到一個文件:使用每行一個項目的輸入文件在shell腳本中創建一個對話框?

USA, Colorado, Denver 
USA, Colorado, Denver (LOC1 S3) 
USA, Florida 
USA, Florida (LOC1 S2) 

我需要顯示一個對話框,列表(例如使用Zenity),並選擇一條線路,然後用它作爲變量在一個命令例如

selloc = *prompt here* 
dosomething "$selloc" 

這將執行

dosomething "USA, Colorado, Denver (LOC1 S3)" 

我怎麼能這樣做?

回答

1

http://linux.byexamples.com/archives/265/a-complete-zenity-dialog-examples-2/具有如何顯示 「無線電列表」 或者與Zenity 「複選框列表」 對話框的例子。

selloc=$(zenity --list --text "Pick a Location" --radiolist \ 
    --column "Pick" --column "Location" \ 
     TRUE   "USA, Colorado, Denver" \ 
     FALSE   "USA, Colorado, Denver (LOC1 S3)" \ 
     FALSE   "USA, Florida" \ 
     FALSE   "USA, Florida (LOC1 S2)" 
dosomething "$selloc" 

從文件中獲取的選項列表應該是可行的與xargseval

selloc=$(eval zenity --list --text \"Pick a Location\" --radiolist \ 
    --column \"\" --column Location $(curl -s http://example.com/list.txt | 
     sed 's/.*/FALSE "&"/;1s/^FALSE /TRUE /')) 
2
#!/bin/sh 
mapfile -t bravo < alpha.txt 
select charlie in "${bravo[@]}" 
do 
    break 
done 
echo "$charlie" 

輸出:

1) USA, Colorado, Denver   3) USA, Florida 
2) USA, Colorado, Denver (LOC1 S3) 4) USA, Florida (LOC1 S2) 
#? 2 
USA, Colorado, Denver (LOC1 S3) 
+0

這有一個明顯的缺陷,它沒有GUI。這個問題具體是關於如何在例如Zenity。 – tripleee 2012-08-07 03:41:36

相關問題