在我的脚本中,我创建了一个文件,我想将其用作对话框程序的输入源,以填充菜单对话框。
在文件中,每一行都包含一个数字和一个菜单标题。
INPUT=""
rm result
while read LINE
do
case $LINE in
'/ >'*|---*|'/ > '*)
continue;;
esac
# echo "1 $LINE "
echo -n " 1 \"$LINE\"" >>result
done < tmpfile
#printf "%s " $INPUT
DIALOG --menu "Latest news " 20 50 30 `cat result`
DIALOG 是一个函数,这是源代码:
DIALOG () {
dialog --backtitle "$TITLE" "$@"
return $?
}
对话框的每个菜单项都需要一个标识符(在我的示例中是数字)和一个标签(在双引号之间,如果它超过一个单词)。
问题是即使文件内容具有正确的格式:
1 "item number 1" 2 "item number 2" ...
对话框命令不将 \" 识别为标签分隔符,但它认为它是字符串的一部分,导致菜单混乱,每个单词都有一个菜单声音。
但是如果我尝试将相同的文件内容直接复制并粘贴到 shell 命令中(不使用脚本),菜单就会正确显示。
任何的想法?