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 14:33 | Komunita

    Do základního systému NetBSD -current byl přidán nový editor atto jako alternativa k editorům vi a xedit.

    Ladislav Hagara | Komentářů: 1
    dnes 14:11 | IT novinky

    Společnost System76 představila kompaktní 11litrový Thelio Prime Desktop. S procesorem AMD Ryzen 9000. S Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC nebo Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 0
    dnes 13:44 | Humor

    Čínská státní televize pozastavila vysílání španělské La Ligy a čínské internetové platformy omezily obsah s Kylianem Mbappém poté, co slavný fotbalista ve francouzském pořadu The Bridge mluvil o svém oblíbeném memu, v němž je jeho tvář vložena do portrétu zobrazujícího diktátora Mao Ce-tunga. 'Můj oblíbený mem je ten, na kterém dali můj obličej na čínského diktátora. To mě opravdu rozesmívá. S přáteli ho používám pořád' řekl,

    … více »
    Pendrekama do nich❗ | Komentářů: 4
    dnes 13:22 | IT novinky

    Při příležitosti oslav Dne vzniku samostatného československého státu (28. října) byly uděleny medaile Za zásluhy tvůrci aplikace Záchranka Filipu Maleňákovi, vědci v oblasti umělé inteligence Tomáši Mikolovovi a Olze Štěpánkové, vědkyni zabývající se kybernetikou, robotikou a strojovým učením, průkopnici v oblastech výuky a využití umělé inteligence v medicínském inženýrství.

    Pendrekama do nich❗ | Komentářů: 2
    dnes 01:33 | IT novinky

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

    Ladislav Hagara | Komentářů: 3
    včera 23:22 | Zajímavý projekt

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

    Ladislav Hagara | Komentářů: 3
    včera 18:55 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Bezpečnostní upozornění

    Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.

    vencour | Komentářů: 0
    27.10. 18:11 | Nová verze

    Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    27.10. 14:11 | IT novinky

    Nasazení softwaru, který nyní používá ve svých autech pro čínský trh, zvažuje automobilový koncern Volkswagen také v Evropě, kde by se mohl používat v budoucích vozech značek Volkswagen, Škoda a Cupra. Základem pro budoucí evropské modely by se mohla stát takzvaná China Electronic Architecture, elektronická architektura vyvinutá pro čínské modely ve spolupráci s tamní automobilkou Xpeng.

    Ladislav Hagara | Komentářů: 47
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2940 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Problém - patrně s result ve funkci

    27.11.2012 22:14 Matonni
    Problém - patrně s result ve funkci
    Přečteno: 442×
    Ahoj, proč mi echo nic nevypíše? Mám tento kousek kódu
    #!/bin/bash
    
    function my_fnc ()
    {
     ARR=()
     ARR+=("1")
     ARR+=("2")
     ARR+=("3")
     ARR+=("4")
     return $ARR 
    }
    
    VAR=( ${my_fnc} )
    
    echo ${VAR[@]}
    Díky za pomoc

    Řešení dotazu:


    Odpovědi

    27.11.2012 22:32 Kit
    Rozbalit Rozbalit vše Re: Problém - patrně s result ve funkci
    Co má dělat příkaz 'function' v Bashi?
    27.11.2012 22:40 l4m4
    Rozbalit Rozbalit vše Re: Problém - patrně s result ve funkci
    function je syntaktický bashismus, nedělá nic.
    Řešení 1× (Michal Vyskočil)
    27.11.2012 22:39 l4m4
    Rozbalit Rozbalit vše Re: Problém - patrně s result ve funkci
    return: return [n]
        Return from a shell function.
        
        Causes a function or sourced script to exit with the return value
        specified by N.  If N is omitted, the return status is that of the
        last command executed within the function or script.
        
        Exit Status:
        Returns N, or failure if the shell is not executing a function or script.
    
    Jasné? Shell není C/Java/whatever. Funkce je spíš takový skriptlet a return vrací status jako ze subprocesu. Vytvářet pole z funkce obecně nedoporučuji. Pro práci s komplexními datovými strukturami není shell vhodný nástroj. You have been warned...

    (a)
    my_func() {
       ARR=(1 2 3 4)
    }
    
    # prostě nastaví ARR
    my_func
    
    (b)
    my_func() {
       echo 1 2 3 4
    }
    
    # nastaví ARR podle na výstup my_func rozdělený na slova
    ARR=($(my_func))
    
    (c) komplexní varianty se změnou IFS a jánevímčeho...
    Řešení 1× (Michal Vyskočil)
    28.11.2012 02:36 Delaunay | skóre: 17 | blog: ⁂
    Rozbalit Rozbalit vše Re: Problém - patrně s result ve funkci
    Protože funkce v Bashi se nechovají jako funkce v běžných programovacích jazycích. A nevrací hodnoty jiného typu než návratového stavového kódu (exit -> $?).

    Pokud je i tak potřeba hrát si v Bashi na programování silnější než použití k tomu vhodného nástroje, tak je to samozřejmě možné. Pokud vezmeme, že funkce bude vždy vracet pole, tak můžeme přepsat takto:
    #!/bin/bash
    
    function my_fnc()
    {
        local ARR=()
        ARR+=("1")
        ARR+=("2")
        ARR+=("3")
        ARR+=("4")
        echo ${ARR[@]}
    }
    
    VAR=($(my_fnc))
    echo ${VAR[@]}
    

    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.