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

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 1
    včera 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 10
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

    Ladislav Hagara | Komentářů: 0
    24.3. 09:11 | Bezpečnostní upozornění

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    24.3. 08:55 | IT novinky

    Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).

    Ladislav Hagara | Komentářů: 0
    23.3. 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 2
    23.3. 14:44 | IT novinky

    Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].

    Ladislav Hagara | Komentářů: 2
    23.3. 13:33 | Nová verze

    Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.

    Ladislav Hagara | Komentářů: 0
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 321 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: Jak předat pole funkci?

    30.7.2012 23:23 MM
    Jak předat pole funkci?
    Přečteno: 310×
    Ahoj, mám takovej kód a potřebuji přenést celé pole do funkce foo aby i v té funkci foo to bylo pořád pole, ale prostě se nedaří.. Neporadí někdo? Díky
    function foo {
    printf "$1"
    }
    
    POLE=()
    POLE+=("/home/foo")
    POLE+=("/home/foo/add")
    POLE+=("/home/foo/cd")
    POLE+=("/home/bar")
    
    foo "$POLE"
    

    Řešení dotazu:


    Odpovědi

    31.7.2012 06:42 Mr.S1lent.cz
    Rozbalit Rozbalit vše Re: Jak předat pole funkci?
    Mohu se zeptat, jaky to ma vyznam? :-) Jinak by taky nebylo spatne napsat, o jaky jazyk se jedna - treba v takovem c/c++ muzes vytvorit double pointer a do nej soupnout pointery na funkce, avsak se shodnym vstupem a vystupem :-)
    31.7.2012 09:02 l4m4
    Rozbalit Rozbalit vše Re: Jak předat pole funkci?
    Předpokládám, že je to bash.

    foo "${POLE[@]}"

    a ve funkci

    a=("$@")
    31.7.2012 10:40 MM
    Rozbalit Rozbalit vše Re: Jak předat pole funkci?
    Předpokládám, že je to bash.
    Ano je to BASH

    a co když ale potřebuji předat ještě další parametry?
    foo "${POLE[@]}" "cislo" "string"
    pokud ve funkci použiji
    a=("$@")
    tak ve funkci neobsahuje $2 předané číslo ale data z pole, to platí i pro $3. Nějaké jiné řešení? Díky
    31.7.2012 10:48 l4m4
    Rozbalit Rozbalit vše Re: Jak předat pole funkci?
    Předej ty ostatní parametry jako první. Použij shift.

    V principu lze taky předat to pole referencí, tj. jen jméno proměnné, akorát symbolické dereference polí jsou trochu svérázné, viz 26-12 v http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/arrays.html
    31.7.2012 11:36 MM
    Rozbalit Rozbalit vše Re: Jak předat pole funkci?
    Tak jsem zkusil první předat string cislo a nakonec pole, ale vysledek je uplne stejny :( Nějaké jine (jednodussi pro mne) použití by nebylo? Díky
    31.7.2012 12:01 Kit
    Rozbalit Rozbalit vše Re: Jak předat pole funkci?
    Pokud nám prozradíš, k čemu to vlastně potřebuješ, možná přijdeme na mnohem jednodušší řešení.

    Zákazník, který kupuje vrták, vlastně nechce vrták, ale díru.
    31.7.2012 12:43 MM
    Rozbalit Rozbalit vše Re: Jak předat pole funkci?
    Tak problém bude patrně v objemu dat :( jelikož pole obsahuje více jak 800 000 položek, proto to udělám raději přes soubor. Ale děkuji za pomoc ;)
    31.7.2012 16:42 l4m4
    Rozbalit Rozbalit vše Re: Jak předat pole funkci?
    Pokud zpracováváš pole o 800000 položkách v shellu, troufám si tvrdit, že děláš něco špatně.
    31.7.2012 19:57 Kit
    Rozbalit Rozbalit vše Re: Jak předat pole funkci?
    Hmm, to je vážné. Takové úlohy se řeší úplně jinak. AWK jsi zkusil?

    Ovšem o řešené úloze mám stále jen mlhavou představu, jejíž řešení je velmi jednoduché a rychlé. 800 kpoložek není moc.

    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.