J’essaie d’obtenir un dialog bash pour sortir une liste de données avec –checklist.
J’ai ce qui définit ce qui est sur la liste:
menuitems="$menuitems $n $item$disksize off\n"
Mais si je mets un espace entre $ item et $ disksize comme ceci:
menuitems="$menuitems $n $item $disksize off\n"
Rien ne se passera. J’ai essayé de mettre en place d’autres formes d’espaces et de codes Unicode / ASCII sans aucune chance, avez-vous des recommandations?
Le problème est que vous ne pouvez pas distinguer les espaces qui appartiennent à un élément et les espaces qui séparent les éléments de la liste. La solution consiste à utiliser un tableau:
menuitems+=( "$n" "$item$disksize" "off" ) dialog ... --checklist "foo" $height $width $listHeight "${menuitems[@]}"
Citer l’expansion du tableau produit une liste de mots, chacun étant cité pour protéger les espaces contenus dans des éléments individuels du tableau.