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 22:44 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.

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

    BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.

    ❗Červivý Hřib krade❗ | Komentářů: 7
    včera 11:55 | Upozornění

    V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."

    Ladislav Hagara | Komentářů: 12
    včera 09:55 | IT novinky

    Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.

    Ladislav Hagara | Komentářů: 11
    včera 09:44 | IT novinky

    Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.

    Ladislav Hagara | Komentářů: 11
    včera 09:33 | Nová verze

    Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 2
    včera 03:22 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.

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

    Simon Long oznámil Raspberry Pi Desktop pro PC a Mac s Intelem postavený na aktualizovaném Debianu 13 Trixie. S klientem Raspberry Pi Connect pro vzdálenou správu. Ke stažení je vedle Raspberry Pi OS pro Raspberry Pi.

    Ladislav Hagara | Komentářů: 1
    8.10. 21:33 | Zajímavý projekt

    ESP32-C3 adblock přemění lacinou vývojovou desku ESP32‑C3 na samostatný DNS blokovač nejenom reklamních domén, minimalistickou alternativu k populárnímu Pi-hole. ESP32-C3 adblock místo objemných názvů domén ukládá jejich 40-bitové FNV-1a hashe do flash paměti, které pak binárně prohledává, kontrola jedné domény trvá přibližně 10 milisekund. Blocklist pojme až 537 tisíc domén a lze jej spravovat přes webové rozhraní. Projekt zatím

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 0
    8.10. 21:00 | Zajímavý software

    ArtCraft je sada open source aplikací pro práci s obrázky a videi "inspirovaných" aplikacemi od Adobe. Napsaných v Rustu. Pro MacOS, Windows i Linux. Běží také ve webovém prohlížeči. Aktuálně se jedná o 7 aplikací: PhotoCraft (Photoshop), VectorCraft (Illustrator), FilmCraft (Premiere Pro), LightCraft (Lightroom), PdfCraft (Acrobat), EffectCraft (After Effects) a DesignCraft (InDesign). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 9
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2822 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Jak načíst v cyklu soubor pouze jednou

    3.12.2017 20:02 Honza
    Jak načíst v cyklu soubor pouze jednou
    Přečteno: 1347×
    Ahoj.

    Když mám v BASH nějaký cyklus ve kterém načítám externí soubory se scriptem, tak se tyto soubory načtou pokaždé když se cyklus opakuje, jde to nějak ošetřit aby se to načetlo jen poprvé aniž bych musel použít funkce? Díky

    Odpovědi

    3.12.2017 20:36 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    Načti je ještě před cyklem. V cyklu pak budeš jen volat již natažené funkce.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    3.12.2017 20:51 Honza
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    ...jde to nějak ošetřit aby se to načetlo jen poprvé aniž bych musel použít funkce? Díky
    3.12.2017 21:22 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    Nějak mi hlava nebere, proč nechceš použít funkce.
    3.12.2017 21:40 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    To máš jednoduché: Někteří lidé se rádi ptají, jak se střílet do nohy. Když jim odpovíš, jak se do té nohy nestřelit, tak spokojeni nejsou a nebudou.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    3.12.2017 22:46 NN
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    break?
    3.12.2017 23:27 Honza
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    Break ukončí cyklus. Již jsem to ošetřil podmínkou.
    4.12.2017 10:38 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou

    První možnost je klasický hnus (vyhodnocování zbytečné podmínky v cyklu):

    declare -ri N=10
    # ...
    for ((i = 0; i < N; ++i)); do
      if ((i == 0)); then
        . /někde/nějaký/soubor
      fi
      # ...
      echo "Iteration $i"
    done
    

    Nebo odděl první iteraci cyklu od zbytku cyklu.

    declare -ri N=10
    # ...
    if ((N)); then
      . /někde/nějaký/soubor
      echo 'Iteration 0'
      for ((i = 1; i < N; ++i)); do
        # ...
        echo "Iteration $i"
      done
    fi
    

    Ale bez funkcí tam^^^ prostě bude nějaká duplikace kódu. Pokud se jí chceš vyhnout, asi by bylo lepší použít funkce. Pokud to má být celé hlavolam ze zápočtové úlohy nebo tak něco, kde se za každou cenu nesmí používat funkce, ale cokoliv jiného ano, můžeš (někdy) místo funkcí použít eval a proměnnou (fujBLE!).

    declare -ri N=10
    declare -r STEP='echo "Iteration $i"'
    # ...
    if ((N)); then
      . /někde/nějaký/soubor
      i=0
      eval "$STEP"
      for ((i = 1; i < N; ++i)); do
        # ...
        eval "$STEP"
      done
    fi
    
    4.12.2017 10:50 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    Ovšem tohle není řešení pro BASH, i když chápu smysl demonstrace kódu, přeci jenom by dávalo větší smysl, kdyby ukázkové příklady odpovídaly tomu, jak by je řešil v shellovém skriptu.
    4.12.2017 15:07 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou

    Nerozumím. V jakém smyslu to není řešení pro Bash? Neběží to snad v Bashi? Běží. Takže … v čem přesně je chyba?

    4.12.2017 16:27 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    Neběží. Teda alespoň ne u mne. Abych byl konkrétní, jde o tu smyčku, na kterou upozornil pisatel níže.
    4.12.2017 16:57 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou

    Běží. Teda aspoň u mne. Vyzkoušeno na verzi 4.3.11 a 4.4.12.

    Smyčky jsou zdokumentované (mimo jiné) tady na straně 10. (Taky jsou samozřejmě popsané v manuálové stránce.)

    Nemůže to být spouštěním Bashe v nějakém divném restriktivním režimu? Když ale spustím Bash v režimu --posix, všechny smyčky mi pořád normálně fungují. Tak nevím.

    4.12.2017 17:10 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    A. Tak máš pravdu. Uložil jsem ten tvůj kód do souboru a funguje. Předtím jsem to zkoušel tak, že jsem to psal rovnou na konzoli:
    ~$ declare -ri N=10 ; for ((i = 0; i < N; ++i)); do ; echo $i ; done
    bash: chyba syntaxe poblíž neočekávaného tokenu „;“
    Ale nenapadlo mě, že jde o ten středník za do.
    4.12.2017 15:10 bash
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    Mozno chces nieco take:
    #!/bin/bash
    
    skript=`cat skript_nejaky.sh`
    
    volat=2;
    while [ "$volat" -gt "0" ]; do
    	eval "$skript" # vykona kod v premenne skript
    	
    	let volat--
    done
    
    4.12.2017 15:20 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou

    Používat while cyklus na něco s počítadlem je ošklivé.

    volat=2
    for ((i = 0; i < volat; ++i)); do
      eval "$skript"
    done
    
    4.12.2017 15:33 bash
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    A co by si pouzis by, ak to ma byt v pisane v SH, resp. max. kompatibilne? Prikaz (()) bolo z CSH do BASH prevzate?

    Napada ma este:
    for premenna in `vrat_cisla OD DO KROK`; do
           ...
    done
    
    vrat_cisla prikaz z hlavy neviem ako sa vola. 
    
    4.12.2017 16:05 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou

    Kompatibilní je třeba tohle (ve smyslu, že Dash to spustí):

    for i in $(seq 0 2); do echo "$i"; done
    

    Hezčí verze podobné konstrukce, ale bohužel jenom pro Bash:

    for i in {0..2}; do echo "$i"; done
    for i in {a..c}; do echo "$i"; done
    for i in {0..10..2}; do echo "$i"; done
    for i in {a..z..3}; do echo "$i"; done
    
    4.12.2017 16:12 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak načíst v cyklu soubor pouze jednou
    Jen málokdy je počitadlo v cyklu k něčemu užitečné.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

    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.