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 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

    Ladislav Hagara | Komentářů: 0
    dnes 17:22 | Nová verze

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

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

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

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

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 26
    včera 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 20
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    11.7. 00:11 | Nová verze

    Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 397 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    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: 219×
    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á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.