• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Gelöst Leerzeichen in Variable für dialog maskieren

Hallo,
...bin nicht ganz sicher, ob der Titel das Problem trifft:

Bash:
ITEMS=" 1 'hallo Du ' 2 'bist nett'"

    dialog --title ""  --menu "" 0 0 0 1 'hallo Du ' 2 'bist nett'
    dialog --title ""  --menu "" 0 0 0  $ITEMS

Ersteres wird natürlich korrekt von 'dialog' ausgegeben:
1 hallo Du
2 bist nett

Nur ich bekomme das selbe nicht hin, wenn ich es in der Variable '$ITEMS' übergeben will...
Kein "Rum"-Quotieren hat mir bisher die Lösung gebracht...

Wie kann ich das hinbekommen?
 
Ich glaube, ich hab's gefunden:
Bash:
    eval "dialog --title ''  --menu '' 0 0 0 $ITEMS"

:cool:

Ich finde das cool...

Bash:
function DIALOG ()
 { eval "dialog $BOX_OPT --title '"$BOX_TITLE"' --menu '"$BOX_MSG"' $BOX_SIZE $BOX_ITEMS"   ;}
 
 # fortan genügt für alle Boxen:
 
    BOX_SIZE='0 0 0'   # am Anfang bereits festgelegt
    BOX_OPT='--stdout --colors --no-tags --no-cancel --no-lines'   # dito

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Eine (von weiteren) Boxen bauen:

   BOX_TITLE='Titel'
     BOX_MSG='Nachricht'
BOX_ITEMS=' 1 " Menü öffnen "\
        2 " beenden     "'

    VAL=$(DIALOG)

Das macht die Sache doch übersichtlicher!
Ok, das hübsche Setzen von Code gelingt mir hier nicht so...
 
Zuletzt bearbeitet:
Oben