0

この形式のCURLを使用してアイテムのリストをファイルに取得しています:

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

そのリストをダイアログに表示し(Zenityを使用するなど)、1行を選択して、コマンドの変数として使用する必要があります。

selloc = *prompt here*
dosomething "$selloc"

実行されます

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

どうやってやるの?

4

2 に答える 2

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)
于 2012-08-07T01:28:59.663 に答える
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"

xargsファイルからオプションのリストを取得するには、またはを使用して実行できる必要がありますeval

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 /'))
于 2012-08-07T04:09:23.883 に答える