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 10:55 | Pozvánky

    Organizátoři konference LinuxDays ukončili veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata, která na letošní konferenci zaznějí. Hlasovat můžete do neděle 7. září. Poté podle výsledků hlasování organizátoři sestaví program pro letošní ročník. Konference proběhne 4. a 5. října v Praze.

    Petr Krčmář | Komentářů: 3
    dnes 02:22 | Nová verze

    Byla vydána verze 11.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 06:00 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. Vypíchnout lze, že v Plasmě byl implementován 22letý požadavek. Historie schránky nově umožňuje ohvězdičkovat vybrané položky a mít k ním trvalý a snadný přístup.

    Ladislav Hagara | Komentářů: 0
    30.8. 20:00 | Nová verze

    Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    30.8. 04:00 | Komunita

    Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".

    Ladislav Hagara | Komentářů: 7
    29.8. 18:33 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).

    Ladislav Hagara | Komentářů: 1
    29.8. 15:11 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    29.8. 12:11 | IT novinky

    Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.

    Ladislav Hagara | Komentářů: 0
    28.8. 23:33 | Nová verze

    Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    28.8. 21:55 | Nová verze Ladislav Hagara | Komentářů: 4
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (8%)
     (2%)
     (3%)
     (4%)
     (1%)
    Celkem 123 hlasů
     Komentářů: 9, poslední 28.8. 11:53
    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: 412×
    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.