Portál AbcLinuxu, 10. května 2025 06:23

Dotaz: Expandování proměnných

26.10.2006 18:29 Dramon
Expandování proměnných
Přečteno: 124×
Odpovědět | Admin
Zdravím všechny přítomné a dovolím si položit zcela "zásadní" dotaz :)
Když mám v bashi v proměnné řetězec typu "Dnes je: $(date)", jak mám přinutit bash, aby tento řetězec expandoval, tj. aby se choval stejně, jako bych tento řádek napsal přímo do .sh souboru ??
Jde mi o princip, nikoliv, jak to vyřešit lépe.
Konkrétně to potřebuji na elegantní přeložení IP adres v proměnné na jejich názvy pomocí sedu a $(dix -x \1 +short)
Díky za všechny rady
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.10.2006 19:57 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Expandování proměnných
Odpovědět | | Sbalit | Link | Blokovat | Admin

Dotaz asi budete muset napsat srozumitelněji. Podle mne shell ten řetězec expanduje, alespoň v tom smyslu, jak slovo expanduje chápu já. Jinak zkuste třeba

  host $ADDR | cut -d ' ' -f 5
26.10.2006 20:01 pavel
Rozbalit Rozbalit vše Re: Expandování proměnných
Odpovědět | | Sbalit | Link | Blokovat | Admin
echo "Dnes je: $(date)" Dnes je: Čt říj 26 19:59:16 CEST 2006 Mě se tento řetězec expanduje.
26.10.2006 21:08 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Expandování proměnných
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zřejmě je myšlena "pozdní expanze", něco na tento způsob:
>a='123${b}'
>b='ABC'
>echo $a
123${b}
#tazatel by zřejmě chtěl
eval "echo${a}"
123ABC
Možná existuje nějaký lepší způsob…
27.10.2006 00:23 Dramon
Rozbalit Rozbalit vše Re: Expandování proměnných
To je přesně to, co jsem potřeboval, děkuji.
Man page k bashi jsem si četl, ale tohle jsem nějak minul ;0
26.10.2006 21:49 vice | skóre: 21
Rozbalit Rozbalit vše Re: Expandování proměnných
Odpovědět | | Sbalit | Link | Blokovat | Admin
vložit do opačných uvozovek:

echo "Dnes je `date +%d.%m.`"

To jsi myslel ?

Není důležité co se stane, ale jak se to vysvětlí.
26.10.2006 22:10 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Expandování proměnných
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to nejasne napisane, zalezi na presnom zapise, pouziti uvodzoviek vs. apostrofov, dokonca pripadne na sposobe volania toho skriptu a odovzdavani parametrov. Moze pomoct eval.

Skus napisat najjednoduchsi realny priklad (skript), na ktorom ukazes 1) co chces dosiahnut, 2) ako to robis, 3) co ocakavas, ze to bude robit a 4) co to v skutocnosti robi.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.