abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 14:55 | IT novinky

Správce české národní domény, sdružení CZ.NIC, zaevidovalo včera po 21. hodině doménové jméno s pořadovým číslem 1 400 000. Od začátku roku vzrostl počet domén s českou národní koncovkou o 28 434.

Ladislav Hagara | Komentářů: 3
dnes 10:00 | Nová verze

Byla vydána nová verze 1.56 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.56 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

Ladislav Hagara | Komentářů: 2
dnes 09:00 | Komunita

Na YouTube byl zveřejněn záznam z Fedora 34 Release Party konané v sobotu 1. května.

Ladislav Hagara | Komentářů: 5
dnes 08:00 | Nová verze

Framework Qt byl vydán ve verzi 6.1. Ta přidává nové funkce a doplňuje další moduly, které chyběly ve vydání 6.0. Více v seznamu nových vlastností nebo poznámkách k vydání.

Fluttershy, yay! | Komentářů: 0
dnes 07:00 | Nová verze

Byla vydána verze 1.52.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 0
včera 22:00 | Zajímavý software

Implementace Pythonu a forky CPythonu: Pyston a Cinder. Pyston byl vydán ve verzi 2.2. Nově zcela open source. Vychází ze stejnojmenného ukončeného projektu Dropboxu. Cinder je pro změnu open source projekt Facebooku. Interně jej používá Instagram.

Ladislav Hagara | Komentářů: 0
včera 16:11 | IT novinky

V únoru 2019 koupila nadace Raspberry Pi časopis Custom PC. Dále jej prodávala v papírové formě. Dnes bylo oznámeno, že květnové až zářijové číslo bude ke stažení zdarma ve formátu pdf. Stejně jako časopisy MagPi, HackSpace, Wireframe a Hello World.

Ladislav Hagara | Komentářů: 0
včera 15:00 | Nová verze

Vyšla nová verze nástroje pro správu diskových oddílů GParted a distribuce GParted Live, která obsahuje tento a další nástroje pro zálohování či obnovu dat. GParted 1.3.0 aktualizuje překlady, opravuje chyby a nově zlepšuje podporu exFAT nebo LUKS2. GParted Live 1.3.0-1 pak obsahuje mj. novou verzi GParted, Linux 5.10.28 a vůbec novější balíčky z Debianu Sid.

Fluttershy, yay! | Komentářů: 4
včera 14:22 | Humor

Je první čtvrtek v květnu, a proto všem čtenářkám a čtenářům AbcLinuxu vše nejlepší k dnešnímu Světovému dni hesel.

Ladislav Hagara | Komentářů: 0
včera 13:22 | Zajímavý článek

Na blogu firmy Tag1 vyšla druhá část rozhovoru s Linusem Torvaldsem. Zatímco první část byla zaměřená spíše na Linux (a git), pokračování se věnuje obecněji správě velkého open-source projektu a v závěru také zkušenostmi s životem ve Spojených státech amerických (Linus Torvalds pochází z Finska).

Fluttershy, yay! | Komentářů: 2
Transakční aktualizace
 (8%)
 (5%)
 (8%)
 (4%)
 (11%)
 (64%)
Celkem 100 hlasů
 Komentářů: 0
Rozcestník

Dotaz: bash: konstrukce proměnné obsahující v názvu parametr scriptu/funkce

1.2.2005 14:22 © | skóre: 37 | blog: escaped
bash: konstrukce proměnné obsahující v názvu parametr scriptu/funkce
Přečteno: 377×
Dobrý den.

Vím, že je to asi pěknej TeXismus, ale potřeboval bych vytvořit proměnnou, jejíž název by sestával z řekněme "statické" části a parametru, který je předán funkci či scriptu.
#!/bin/bash

funtion foo () {
local BAR_$1=$2    # nefunguje, mela by vzniknout promenna
echo "$BAR_$1"     # BAR_"obsah $1"=$2
}

foo Ahoj svete     # melo by vypsat "svete"
                   # uvnitr funkce by mela vzniknout promenna
                   # BAR_Ahoj="svete"
exit 0
Jak na to? Děkuji.

Odpovědi

1.2.2005 14:45 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: bash: konstrukce proměnné obsahující v názvu parametr scriptu/funk
Můžeš použít eval, který definitivně smíchá syntaxi a data, a/nebo symbolické reference ${!...}
eval BAR_$1=$2
ref=BAR_$1
echo ${!ref}
Pokud to skutečně potřebuješ a nejde to rozumně napsat bez toho, tak si ovšem myslím, že sis pro implementaci vybral nevhodný jazyk.
1.2.2005 14:49 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: bash: konstrukce proměnné obsahující v názvu parametr scriptu/funk
To bude ono. Dik. Nemohl jsem na to přijít ani s tím eval. Dík moc. Teď už se s tím nějak poperu.
1.2.2005 14:55 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: bash: konstrukce proměnné obsahující v názvu parametr scriptu/funk
Pokud to skutečně potřebuješ a nejde to rozumně napsat bez toho, tak si ovšem myslím, že sis pro implementaci vybral nevhodný jazyk.
Bohužel, musí to být v BASHi. I s tím to snad bude vcelku rozumné, alespoň doufám. Není to nic extra velikého, jen jedna fukce, která má být jádrem pro rozsáhlejší script...
1.2.2005 15:07 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: bash: konstrukce proměnné obsahující v názvu parametr scriptu/funk
Safr, jseš rychlejší. To je tím, že to nepoužívám. Jinak je to príma věc:
#!/bin/bash
foo () {
local var=BAR_$1
eval $var=$2
echo ${!var}
}
foo Ahoj svete     # melo by vypsat "svete"
                   # uvnitr funkce by mela vzniknout promenna
                   # BAR_Ahoj="svete"
echo $BAR_Ahoj
exit 0
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
1.2.2005 15:18 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: bash: konstrukce proměnné obsahující v názvu parametr scriptu/funk
Taková věc je skutečně príma. V TeXu s takovýma konstrukcema zacházím v jednom kuse. Jsem rád, že to jde. Už jsem se začal bát, protože jsem na takové uvažování nějak zvyklej (asi až moc)...

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.