Bash对话框中的空格

Bash对话框中的空格,bash,unix,dialog,Bash,Unix,Dialog,我正试图获得一个bash对话框,以输出一个带有--checklist的数据列表 我定义了清单上的内容: menuitems="$menuitems $n $item$disksize off\n" 但如果我在$item和$disksize之间放置一个空格,如下所示: menuitems="$menuitems $n $item $disksize off\n" 什么也不会发生。我尝试过输入一些其他形式的空格和unicode/ASCII码,但没有成功,您有什么建议吗?问题是您无法区分属于某个项

我正试图获得一个bash对话框,以输出一个带有--checklist的数据列表

我定义了清单上的内容:

menuitems="$menuitems $n $item$disksize off\n"
但如果我在$item和$disksize之间放置一个空格,如下所示:

menuitems="$menuitems $n $item $disksize off\n"

什么也不会发生。我尝试过输入一些其他形式的空格和unicode/ASCII码,但没有成功,您有什么建议吗?

问题是您无法区分属于某个项目的空格和分隔列表中项目的空格。解决方案是使用阵列:

menuitems+=( "$n" "$item$disksize" "off" )

dialog ... --checklist "foo" $height $width $listHeight "${menuitems[@]}"

引用数组的扩展将生成一个单词列表,每个单词都被引用以保护数组中各个元素中包含的空格。

问题在于,您无法区分属于某个项目的空格和分隔列表中项目的空格。解决方案是使用阵列:

menuitems+=( "$n" "$item$disksize" "off" )

dialog ... --checklist "foo" $height $width $listHeight "${menuitems[@]}"

引用数组的扩展会生成一个单词列表,每个单词都会被引用以保护数组中各个元素中包含的空格。

菜单项前缺少列表高度。这似乎非常有效;非常感谢你。我知道这个问题,只是没有解决办法。谢谢,菜单项前缺少列表高度。这似乎很好;非常感谢你。我知道这个问题,只是没有解决办法。非常感谢。