Píšu jednoduchý skript. Vše funguje jak má. Chtěl jsem mu přidat trochu grafických okének. Zvolil jsem GTK, většinu jsem udělal přes Zenity. Nicméně Zenity neumí víceřádkový vstup. To jsem vyřešil pomocí GTKdialogu (
Ofic. str.,
příklady) , takto:
#! /bin/bash
export MAIN_DIALOG='
<window title="my gtkdialog window">
<vbox>
<edit>
<variable>EDITOR</variable>
<width>350</width><height>150</height>
<default>
"Zde je defaultní,
velmi často víceřádkový,
text."
</default>
</edit>
<hbox>
<button ok></button>
</hbox>
</vbox>
</window>'
gtkdialog --program=MAIN_DIALOG
Když si to vyzkoušíte, tak zjistíte, že to udělá hezké okénko. Přesně takové, jaké jsem chtěl. A vrátí to takovouto hodnotu (odkliknuto s def. textem), čili
stdout:
EDITOR="Zde je defaultní,
velmi často víceřádkový,
text."
EXIT="OK"
Čili mi vrátí "deklaraci" dvou proměnných. Problém je, že je to text, nikoliv příkazy. Mně by se líbilo, kdybych dané výstupy měl opravdu v těch proměnných. Abych pak mohl udělat:
#: echo $EDITOR
Zde je defaultní,
velmi často víceřádkový,
text.
A nevím jak to udělat přímo. Samozřejmě bych to mohl parsovat
sedem,
grepem,
tr a tak. Nicméně to vždy bude drhnout a bude to takové zbytečně velké, ale jak to udělat rovnou?
Spustit nějaký subshell či tak?
Tuší někdo?
Je mi divné, že by to vracelo v takovémto formátu a jednoduše to nešlo využít.