庆典:创建从一个动态的文件和输出选择变量
问题描述:
我正在建立一个ncurses的/对话框驱动交互的shell脚本的Clonezilla简化与我们使用非常具体的设置,通过图像的创建和恢复工作的一个ncurses的对话框单选列表每一次。脚本的一部分要求用户选择要恢复的图像,并且我已经碰到了墙壁。庆典:创建从一个动态的文件和输出选择变量
我想为这个零件使用对话框radiolist,以便它们只能从可用图像列表中选择一个图像文件。我动态创建图像的列表,并将其存储在一个名为.clone_images_list
我有几乎所有的方式,我所拥有的一切,除了工作,当用户选择一个文件名,它输出线数字而不是文件名。我尝试了所有我能想到但没有成功的事情。
这是我到目前为止有:
。
#! /bin/bash
COUNT=1
IMAGELIST=""
while read i; do
IMAGELIST="$IMAGELIST $COUNT $i off"
let COUNT=COUNT+1
done < .clone_images_list
dialog --backtitle "Available Image List" \
--radiolist "Select Image To Restore" 0 0 $COUNT \
$IMAGELIST 2> .tempfile
IMAGEFILE=`cat .tempfile`
echo $IMAGEFILE
这里是我的.clone_images_list样子:
channel1.170822104015.img
channel2.170822181523.img
channel3.170822180559.img
host.170822160320.img
host.170822174917.img
此列表可长可短,随时更新的新形象已创建。
对于我的脚本工作,我需要的实际文件名,到我可以在我的脚本以后使用的变量。
寻找一些想法....
答
的单选列表窗口小部件返回所选标签(其是第一列)。
在这一行
IMAGELIST="$IMAGELIST $COUNT $i off"
您在标签字段设置为一个数字。如果你改变了对
IMAGELIST="$IMAGELIST $i $i off"
那么标签将是一个文件名。
如果你这样做,--no-tags
选项将是有益的,因为否则将小部件两次显示文件名。
托马斯 - 这正是我需要的,非常感谢你! – Richard