0

我在使用 zenity 时遇到问题。这是脚本:

CHECKED=`cat /tmp/1 | \
         zenity --width=500 --height=450  --list --radiolist --separator=' ' \
                --title="Select Results." \
                --text="show lines" --column="" --column="Files"`

文件 /tmp/1:

1
2
3
4
5
6
7
8
9

当我运行这个脚本时,它只显示第 1、3、5、7、9 行

我究竟做错了什么?

4

1 回答 1

1

输入文件中的 1 行等于对话框中的 1 列。因为您要添加单选按钮,所以您的对话框有 2 列(因此您有两个--column参数),因此您的输入与要显示的内容不匹配。换句话说,Zenity 期望这样的事情:

FALSE
1
FALSE
2
FALSE
3
TRUE
4

... whereTRUE/FALSE表示对话框打开时是否预先选择了单选按钮。

要在不修改输入文件的情况下修复脚本,您可以简单地在每一行前加上一行:

CHECKED=`cat /tmp/1 | \
         sed 's/^/FALSE\n/g' | \
         zenity --width=500 --height=450  --list --radiolist --separator=' ' \
                --title="Select Results." \
                --text="show lines" --column="" --column="Files"`
于 2015-03-23T13:17:32.550 回答