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

    Vyšlo nové vydání knihy Mastering Emacs. Jedná se o aktualizaci pro Emacs 29. Knihu lze nyní koupit ve slevě, akce trvá do čtvrtka 25. července ráno.

    klifacek | Komentářů: 0
    dnes 14:00 | Nová verze

    Nástroje wpa_supplicant (Wikipedie) a související hostapd (Wikipedie) byly vydány v nové verzi 2.11.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Byla vydána nová major verze 1.10.0 rychlého bezeztrátového kompresního algoritmu LZ4 (Wikipedie). Hlavní novinkou je podpora vícevláknového zpracování (multithreading).

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | Zajímavý software

    Byl představen Stremio OS pro Raspberry Pi 5 a 4, tj. operační systém postavený nad LineageOS 21 s multimediálním centrem Stremio. Stremio lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze

    Po půl roce od vydání verze 2.39 byla vydána nová verze 2.40 knihovny glibc (GNU C Library). Přehled novinek v poznámkách k vydání a v souboru NEWS. Opraveno bylo 5 zranitelností (CVE).

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | Pozvánky

    GNU Tools Cauldron 2024 proběhne v Praze na Univerzitě Karlově od 14. do 16. září 2024.

    Ladislav Hagara | Komentářů: 0
    21.7. 05:00 | Nová verze

    OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 24.07. S KDE Plasma 6 a spiny LXQt (2.0.0 Qt6) a GNOME (46.3). Vydáno bylo také ROME Plasma6 Wayland ISO. Vývojáři ale nepovažují Wayland za dostatečně vyspělý, aby mohl nahradit X11 pro většinu uživatelů. Linux byl povýšen na verzi 6.10. Přeložen je Clangem.

    Ladislav Hagara | Komentářů: 15
    21.7. 01:00 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    19.7. 10:49 | IT novinky

    Světem se valí vlna BSOD počítačů s operačním systémem Windows v kombinaci s bezpečnostním agentem CrowdStrike. Částečně jsou ochromeny letiště, banky, burzy, Microsoft Cloud apod. Zatím je znám jen workaround v podobě nabootování do recovery režimu a smazání jednoho souboru.

    karkar | Komentářů: 164
    18.7. 23:44 | Komunita

    Nezisková organizace Apache Software Foundation (ASF) oznámila, že se částečně přestane dopouštět kulturní apropriace a změní své logo a brand. Minimálně z loga odstraní indiánské pírko. Nové logo a brand představí na své konferenci Community Over Code v říjnu letošního roku. Ta byla ještě nedávno známá jako ApacheCon.

    Ladislav Hagara | Komentářů: 82
    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: 394×
    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.