我正在尝试使用--checklist获取bash对话框以输出数据列表。
我有这个定义列表中的内容:
menuitems="$menuitems $n $item$disksize off\n"
但是如果我在$ item和$ disksize之间放置一个空格,就像这样:
menuitems="$menuitems $n $item $disksize off\n"
什么都不会发生。我尝试过一些其他形式的空白和unicode / ASCII代码而没有运气,你有什么建议吗?
答案 0 :(得分:4)
问题在于您无法区分属于项目的空间和分隔列表中项目的空间。解决方案是使用数组:
menuitems+=( "$n" "$item$disksize" "off" )
dialog ... --checklist "foo" $height $width $listHeight "${menuitems[@]}"
引用数组的扩展会产生一个单词列表,每个单词都被引用以保护数组中各个元素中包含的空格。