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í
×
    včera 17:55 | Nová verze

    Ubuntu pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | IT novinky

    Zástupci členských států EU se včera shodli na návrhu, který má bojovat proti šíření materiálů na internetu zobrazujících sexuální zneužívání dětí. Nařízení známé pod zkratkou CSAM a přezdívané chat control mělo množství kritiků a dlouho nebyla pro jeho schválení dostatečná podpora. Pro schválení byla potřeba kvalifikovaná většina a dánské předsednictví v Radě EU se snažilo dosáhnout kompromisu. Návrh nakonec po dlouhých týdnech

    … více »
    Ladislav Hagara | Komentářů: 6
    včera 12:22 | Zajímavý software

    Britské herní studio Facepunch stojící za počítačovými hrami Garry's Mod a Rust uvolnilo svůj herní engine s&box (Wikipedie) jako open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT. Herní engine s&box je postavený nad proprietárním herním enginem Source 2 od společnosti Valve.

    Ladislav Hagara | Komentářů: 1
    včera 04:55 | Komunita

    Vývoj programovacího jazyka Zig byl přesunut z GitHubu na Codeberg. Sponzoring na Every.

    Ladislav Hagara | Komentářů: 1
    včera 04:44 | Komunita

    Stejně jako GNOME i KDE Plasma končí s X11. KDE Plasma 6.8 poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.

    Ladislav Hagara | Komentářů: 1
    26.11. 14:55 | IT novinky

    Poslanci Evropského parlamentu dnes vyzvali k výraznému zvýšení ochrany nezletilých na internetu, včetně zákazu vstupu na sociální sítě pro osoby mladší 16 let. Legislativně nezávazná zpráva, kterou dnes odsouhlasil Evropský parlament poměrem 493 hlasů pro ku 92 proti, kromě zavedení věkové hranice 16 let pro využívání sociálních sítí, platforem pro sdílení videí či společníků s umělou inteligencí (AI) vyzývá také k zákazu … více »

    Ladislav Hagara | Komentářů: 44
    26.11. 14:11 | Humor

    Doom v KiCadu nebo na osciloskopu? Žádný problém: KiDoom: Running DOOM on PCB Traces a ScopeDoom: DOOM on an Oscilloscope via Sound Card.

    Ladislav Hagara | Komentářů: 3
    26.11. 12:44 | Nová verze

    Po AlmaLinuxu byl v nové stabilní verzi 10.1 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.11. 04:00 | Zajímavý software

    Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.

    Ladislav Hagara | Komentářů: 1
    25.11. 17:00 | IT novinky

    Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.

    Ladislav Hagara | Komentářů: 8
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (18%)
    Celkem 410 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: BASH zjistit pracovat s array když je název v proměnné?

    14.10.2012 02:21 Jakubysko
    BASH zjistit pracovat s array když je název v proměnné?
    Přečteno: 323×
    Ahoj, mám pole, a zjišťuji počet položek.
    POLE=("nazdar"
          "bazar"
          "ahoj")
    
    CELKEM=${#POLE[*]}
    Jak ale udělám to, když název toho pole mám uložený v nějaké proměnné? Poradil by prosím někdo?

    Zkoušel jsem to takto ale nejde mi to
    NAZEV="POLE10"
    
    CELKEM=${#NAZEV[*]}
    Děkuji za pomoc

    Odpovědi

    14.10.2012 09:53 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: BASH zjistit pracovat s array když je název v proměnné?
    V kombinaci pole, počítání prvků a nepřímý odkaz mě popravdě nenapadlo jednodušší řešení než pomocí eval. Nevypadá to hezky, protože se dost escapuje, ale funguje to. Protože mi to připadá jako domácí úkol, nepřišlo by mi úplně fér Vám rovnou dát hotové řešení, lepší bývá naťuknout. Kdybyste se zasekl, tak se ozvěte.
    14.10.2012 13:29 Jakubysko
    Rozbalit Rozbalit vše Re: BASH zjistit pracovat s array když je název v proměnné?
    Zkoušel jsem to i takto ale nejde mi to, proto jsem se ptal zde..
    NAZEV="POLE10"
    
    CELKEM=${#${!NAZEV}[*]}
    14.10.2012 13:54 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: BASH zjistit pracovat s array když je název v proměnné?
    Bash má velmi pokročilé schopnosti při expandování proměnných, ale když toho chcete více najednou (zde: počítat položky pole a nepřímá reference), tak už to nelze libovolně kombinovat. Proto jsem se Vás snažil navést na ten eval. Zkusím požďuchnout ještě o kousek více. Když se podíváte do manu, eval vyhodnotí argumenty a pošle vše shellu zpátky přechroupané. Tzn. vyescapujte to, co chcete, aby prošlo eval dál a nechte ho, aby vám nahradil pouze proměnnou odkazující na jméno pole. Pomohlo to?
    14.10.2012 14:04 Jakubysko
    Rozbalit Rozbalit vše Re: BASH zjistit pracovat s array když je název v proměnné?
    Díky, zeptám se jinde, nemůžu řešit jeden hloupý dotaz 2 dny :(
    15.10.2012 07:58 George O.
    Rozbalit Rozbalit vše Re: BASH zjistit pracovat s array když je název v proměnné?
    Proc by ses ptal jinde, kdyz jsi kvalitni odpoved dostal? Rika se "chytremu napovez, hloupeho kopni" - tebe asi patri kopnout :-)))
    David Watzke avatar 14.10.2012 14:09 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: BASH zjistit pracovat s array když je název v proměnné?
    NAZEV="POLE"
    eval CELKEM='${#'$NAZEV'[*]}'
    # nebo
    eval CELKEM=\${#$NAZEV[*]}
    Ale nejdřív je potřeba zkontrolovat obsah proměnné NAZEV než pustíš ten eval (pokud ho nenastavuješ na konstantu), jinak to je bezpečnostní díra.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

    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.