庆典:创建从一个动态的文件和输出选择变量

问题描述:

我正在建立一个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选项将是有益的,因为否则将小部件两次显示文件名。

+0

托马斯 - 这正是我需要的,非常感谢你! – Richard