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

    Canonical vydal (email) Ubuntu 25.10 Questing Quokka. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2026.

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

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzi 1.5.0.

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

    Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

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

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 5
    včera 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 15
    včera 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

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

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    7.10. 18:11 | Nová verze

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

    Ladislav Hagara | Komentářů: 2
    7.10. 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 4
    7.10. 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 201 hlasů
     Komentářů: 13, poslední včera 07:41
    Rozcestník

    Dotaz: Bash otevreni a nacteni souboru

    3.5.2012 19:26 Bass
    Bash otevreni a nacteni souboru
    Přečteno: 364×
    Dobry den,

    rad bych se poradil ohledne reseni nasledujiciho problemu s jednoduchym skriptem v Bashi. Pokousim se pro kazdy soubor z listu souboru nacist v souboru nejaka ridici data,ale nedari se mi jej zprovoznit. Pri spusteni skriptu se vypise chyba prav, pritom soubory jsou me a veskere skripty probihaji v mem adresari.

    #!/bin/bash

    function readCenterGridBox() {

    fname=$1; counter=0;

    for i in $(cat $fname); do result[counter]=$i;

    counter = counter + 1;

    done

    }

    dlist=$(find ~/DOC -type d)

    for dname in $dlist ; do

    position=readCenterGridBox $dname"/cdk.txt"

    echo $position[0];

    echo -e "\n"

    done

    Dekuji za odpoved.


    Řešení dotazu:


    Odpovědi

    3.5.2012 19:46 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash otevreni a nacteni souboru

    Především: jak přesně zní to chybové hlášení?

    Jinak si očividně neděláte těžkou hlavu s mezerami v názvech souborů a adresářů, ale je docela dobře možné, že tam žádné nemáte. A tohle

    counter = counter + 1;
    

    nemůže fungovat. Správně můžete použít

    counter=$[counter + 1]
    

    případně

    : $[counter++]
    

    nebo rovnou

    result[$[counter++]]="$i"
    

    nebo dokonce

    result[${result[*]}]="$i"
    
    3.5.2012 19:47 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash otevreni a nacteni souboru
    Mimochodem, nezní ta chybová hláška čirou náhodou tak, že shell nemůže spustit příkaz counter? :-)
    3.5.2012 19:51 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: Bash otevreni a nacteni souboru
    Ne counter, ale cdk.txt. :) Ta funkce se nikde nevolá.
    3.5.2012 19:47 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: Bash otevreni a nacteni souboru
    Chybu, co vidíš, ti způsobuje řádek position=readCenter..., který zaprvé asi není to, cos chtěl napsat, a zadruhé do proměnné position uloží string "readCenterGridBox" (po mezeru) a následně se snaží spustit ten cdk.txt soubor, který nemá executable práva, proto ta chyba. Nicméně podivností a chyb máš v té ukázce výrazně víc. Hned další budou chybějící dvojité závorky u counter+1 (a naopak přebývající mezery u rovnítka tamtéž). Zbytek asi půjde spustit ale rozhodně nebude dělat to, co chceš (at už je to cokoliv :).
    3.5.2012 20:10 Bass
    Rozbalit Rozbalit vše Re: Bash otevreni a nacteni souboru
    ach ta syntax:-) Chyba je opravdu v tom radku position=readCenter... Dekuji za pomoc, jiz to funguje.
    3.5.2012 20:51 Kit
    Rozbalit Rozbalit vše Re: Bash otevreni a nacteni souboru
    Chápu správně, že ten skript má v adresáři ~/DOC vyhledat všechny soubory cdk.txt a z každého vypsat první slovo? Takto se to ale v shellu nedělá. Pokud by ta adresářová struktura byla plochá, stačilo by např. tohle:
    for soubor in ~/DOC/*/cdk.txt; do
      read w1 w2 <"$soubor";
      echo -e "$w1\n";
    done
    4.5.2012 07:33 alkoholik | skóre: 40 | blog: Alkoholik
    Rozbalit Rozbalit vše Re: Bash otevreni a nacteni souboru
    Kvuli moznym mezeram v nazvu souboru po expanzi * se presne tohle nedela.
    4.5.2012 08:45 Kit
    Rozbalit Rozbalit vše Re: Bash otevreni a nacteni souboru
    Můžu vidět příklad, kdy mé řešení nebude fungovat? Mezery to s přehledem zvládne.
    4.5.2012 09:25 alkoholik | skóre: 40 | blog: Alkoholik
    Rozbalit Rozbalit vše Re: Bash otevreni a nacteni souboru
    No dobre rano.
    ;)
    Mel bych psat az poradne nabootuju..
    4.5.2012 09:23 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Bash otevreni a nacteni souboru
    Nemáte pravdu. Expanze wildcards se provádí až v rámci word splitting, takže v této konstrukci mezery v názvech souborů nevadí.

    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.