Linux 使用每行一项的输入文件在shell脚本中创建对话框?
我正在使用以下格式的CURL将项目列表检索到一个文件中: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,
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中实现这一点。