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 01:11 | Nová verze

    Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.

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

    Byla vydána verze 1.93.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 14:00 | Komunita

    Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.

    Ladislav Hagara | Komentářů: 7
    včera 11:00 | IT novinky

    Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.

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

    Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.

    Ladislav Hagara | Komentářů: 4
    včera 03:33 | Zajímavý software Ladislav Hagara | Komentářů: 1
    včera 00:11 | Nová verze

    Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    21.1. 16:11 | Humor

    Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.

    NUKE GAZA! 🎆 | Komentářů: 12
    21.1. 14:33 | Nová verze

    Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.

    Ladislav Hagara | Komentářů: 4
    21.1. 14:22 | Zajímavý projekt

    Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (5%)
     (0%)
     (10%)
     (21%)
     (3%)
     (5%)
     (2%)
     (11%)
     (36%)
    Celkem 576 hlasů
     Komentářů: 17, poslední včera 15:24
    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: 330×
    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.