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

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.1 a 24.04-1.5. S opravou kritických zranitelností.

    Ladislav Hagara | Komentářů: 0
    dnes 11:33 | IT novinky

    Společnost Škoda Auto zveřejnila na Printables bezplatné 3D modely příslušenství do svých vozů (držáky na nápoje, pomůcky pro vedení kabelů, mincovníky, háčky na USB kabely a čepice pro kapsy na zadních stranách opěradel sedadel, držáky na telefony a úchyty pro horní upevnění bezpečnostních pásů).

    Ladislav Hagara | Komentářů: 3
    dnes 05:11 | Zajímavý článek

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

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Bezpečnostní upozornění

    Dnes v 16:00 (14:00 UTC) budou opraveny 2 kritické zranitelnosti s CVSS 9.2 v PHP.

    Ladislav Hagara | Komentářů: 3
    dnes 01:37 | Bezpečnostní upozornění

    Nizozemská policie 13. října 2026 zabavila v datacentru Amsterdam Science Park server italského poskytovatele internetových služeb Autistici/Inventati (A/I), a to na základě americké žádosti o mezinárodní právní pomoc.… více »

    vencour | Komentářů: 4
    včera 20:47 | Bezpečnostní upozornění
    Hlášeny RCE v NGINX. Náprava dostupná. … více »
    vencour | Komentářů: 0
    včera 20:33 | IT novinky

    Do 26. října do 18:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | říjen 2026 (YouTube) doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

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

    Čínská technologická společnost DeepSeek zveřejnila na GitHubu svůj framework DeepInfer, nástroj pro efektivní offline inferenci svého modelu DeepSeek-V4.1-Flash ve velkém měřítku. Software běží na Linuxu a nativně podporuje akcelerátory Nvidia ale i čipy Huawei Ascend 950. Jedná se pouze o samotný inferenční engine, ne kompletní produkční službu. Zdrojový kód je dostupný pod licencí Apache 2.0.

    ❗Červivý Hřib krade❗ | Komentářů: 0
    včera 17:00 | Nová verze

    Německo-americká společnost Black Forest Labs představila FLUX 3 Image Klein, otevřený model s 5,6 miliardami parametrů pro tvorbu a úpravu obrázků. Dovede pracovat až s deseti referenčními snímky a zvládá generování v rozlišení až 4K, díky své menší velikosti ('klein' v němčině znamená 'malý') je model vhodný pro používání na běžných grafických kartách. Jedná se bohužel o cenzurovaný generativní model, z korpusu byl před trénováním

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 6
    včera 11:33 | Nová verze Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2885 hlasů
     Komentářů: 33, poslední včera 23:44
    Rozcestník

    Dotaz: Bash indirect reference

    2.8.2011 14:46 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Bash indirect reference
    Přečteno: 461×
    Zdravím,

    Již nějakou dobu bloumám nad tím, jak u pole předaného funkci názvem zjistím počet prvků.

    první fáze (nepřímá reference na celé pole) se povedla
    function enum () {
       LocalArray= "$1[*]"
       echo ${!LocalArray} # vypíše obsah pole 
       echo ${#!LocalArray} # Tady bych chtěl vypsat počet prvků, 
         tento zápis ale bash nebere
       .....
    
    }
    Možná jdu na problém zbytečně složitě, ale ani přes google nemůžu najít odpověď

    Předem díky za pomoc

    Řešení dotazu:


    Odpovědi

    2.8.2011 15:25 marek
    Rozbalit Rozbalit vše Re: Bash indirect reference
    Dobry den.

    Jestli jsem to dobre pochopil:

    marek:~/bash$ function enum () {
    >    LocalArray="$1"
    >    echo ${#LocalArray}
    > 
    > }
    marek:~/bash$ 
    marek:~/bash$ pole=(nula jedna dva tri)
    marek:~/bash$ 
    marek:~/bash$ enum pole
    4
    marek:~/bash$
    
    Marek
    3.8.2011 07:43 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: Bash indirect reference
    Zajímavé přímočaré řešení :D

    kdysi jsem tenhle problém řešil, a mám dojem, že to přímé přiřazení nefungovalo, a muselo se to obcházet právě tím nepřímým odkazem .. a teď , když jsem zase hodlal něco pro bash napsat, vydal jsem se stejnou cestou...

    Děkuji za řešení.. doufám, že nemá nějaké skryté zádrhele.
    3.8.2011 10:01 marek
    Rozbalit Rozbalit vše Re: Bash indirect reference
    Dobry den.

    No ono to bohuzel ma takovou neprijemnou vlastnost:

    marek:~$ function enum () {
    >     LocalArray="$1"
    >     echo ${#LocalArray}
    >  }
    marek:~$ pole=(nula jedna dva )
    marek:~$ enum pole
    4
    

    Pocitame totiz pocet znaku ve slove "pole"

    Takze se za blamaz omlouvam a sypu si popel na hlavu.

    Marek
    2.8.2011 15:26 NN
    Rozbalit Rozbalit vše Re: Bash indirect reference
    echo ${#array[*]}
    echo ${#array[@]}
    Je tam drobny rozdil, ale ten uz si nepamatuju..

    NN
    2.8.2011 16:23 zulu
    Rozbalit Rozbalit vše Re: Bash indirect reference
    Kdysi jsem podobnou věc řešil a nevypadá to, že by se v tomto směru něco změnilo. Takže pokud nechceš vytvářet nové pole, tak asi budeš muset použít eval.
    3.8.2011 11:00 marek
    Rozbalit Rozbalit vše Re: Bash indirect reference

    Dobry den.

    marek:~$ function enum () {
    >     eval "echo \${#${1}[@]}"
    >  }
    marek:~$ pole=(nula jedna "dva tri")
    marek:~$ enum pole
    3
    
    4.8.2011 23:39 Milan
    Rozbalit Rozbalit vše Re: Bash indirect reference
    Děkuji za uvedeni věcí na pravou míru... :D

    Milan

    Založit nové vlákno • Nahoru

    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.