Linux 使用每行一项的输入文件在shell脚本中创建对话框?

Linux 使用每行一项的输入文件在shell脚本中创建对话框?,linux,bash,shell,scripting,Linux,Bash,Shell,Scripting,我正在使用以下格式的CURL将项目列表检索到一个文件中: USA, Colorado, Denver USA, Colorado, Denver (LOC1 S3) USA, Florida USA, Florida (LOC1 S2) 我需要在对话框中显示该列表(例如使用Zenity)并选择一行,然后将其用作命令中的变量,例如 selloc = *prompt here* dosomething "$selloc" 哪一个会执行 dosomething "USA, Colorado,

我正在使用以下格式的CURL将项目列表检索到一个文件中:

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)"
如何实现这一点?

提供了如何使用Zenity显示“单选列表”或“复选框列表”对话框的示例

#!/bin/sh
mapfile -t bravo < alpha.txt
select charlie in "${bravo[@]}"
do
  break
done
echo "$charlie"
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 /'))
有如何使用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 /'))

这有一个明显的缺陷,即它没有GUI。问题是如何在Zenity中实现这一点。它有一个明显的缺陷,即没有GUI。问题具体是关于如何在Zenity中实现这一点。