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 21:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

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

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

    Ladislav Hagara | Komentářů: 0
    13.6. 15:22 | IT novinky

    Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.

    Ladislav Hagara | Komentářů: 6
    13.6. 02:22 | Nová verze

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

    Ladislav Hagara | Komentářů: 0
    12.6. 16:33 | Bezpečnostní upozornění

    V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.

    Ladislav Hagara | Komentářů: 11
    12.6. 11:33 | Nová verze

    Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.

    |🇵🇸 | Komentářů: 0
    12.6. 03:33 | Bezpečnostní upozornění

    Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.

    Ladislav Hagara | Komentářů: 2
    11.6. 14:11 | Komunita

    Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.

    Ladislav Hagara | Komentářů: 5
    11.6. 10:44 | Nová verze

    Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    11.6. 04:44 | Nová verze

    Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1906 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: BASH - nahrazení kódu

    31.7.2012 12:33 MM
    BASH - nahrazení kódu
    Přečteno: 281×
    Ahoj, mám takovej kód
    for ARRAY_NAME in "${DIRS[@]}"
    do
    ...
    done
    a potřeboval bych nahradit ${DIRS[@]} něčím jiným co by dokázalo načítat data ne z pole ale data ze souboru.. Děkuji

    Odpovědi

    31.7.2012 12:41 chrono
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    Cieľom je načítať riadky zo súboru do poľa, alebo postupne každý riadok do nejakej premennej, či niečo úplne iné?
    31.7.2012 12:45 MM
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    No potřebuji vypsat vždy jeden řádek přímo, bez ukládání do array
    for ARRAY_NAME in "${DIRS[@]}"
    do
     echo "$ARRAY_NAME"
    done
    31.7.2012 12:54 chrono
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    while read LINE
    do
            echo $LINE
    done < "./subor"
    
    prípadne
    cat "./subor" | while read LINE
    do
            echo $LINE
    done
    31.7.2012 12:53 NN
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    for LINE in $(cat file); do ...
    ?
    31.7.2012 13:17 MM
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    Díky moc, akorá ještě se mu něco nelíbí, ale netuším absolutně proč.. neví někdo? Dík :(

    TEMP_FILE="/tmp/temp.tmp"
    ROW_COUNT=$(wc -l $TEMP_FILE)
    
    i=0
    for ROW_NAME in "$(cat $TEMP_FILE)"
    do
     BAR=$(( 100*(++i)/$ROW_COUNT ))
     echo "$ROW_NAME"
     echo "$BAR"
    done
    line 53: 100*(++i)/43 /tmp/temp.tmp : division by 0 (error token is "/temp.tmp ")
    31.7.2012 13:25 MM
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    line 53 je v tomto případě tento řádek BAR=$(( 100*(++i)/$ROW_COUNT ))
    31.7.2012 13:29 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    Problém vznikne na řádku s ROW_COUNT=$(wc -l $TEMP_FILE). Pusťte si tenhle příkaz (wc -l $TEMP_FILE) a uvidíte proč. Řešením je použít přesměrování
    wc -l < $TEMP_FILE
    nebo oříznout výstup cutem (například).
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    31.7.2012 13:28 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    Pretože ROW_COUNT neobsahuje len počet riadkov, ale aj meno toho čo je v $TEMP_FILE.

    Skús:

    ROW_COUNT=$(wc -l < $TEMP_FILE)
    31.7.2012 13:50 MM
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    Super díky moc za pomoc ;-)

    PS: ještě jeden takový dotaz ohledně funkcí
    function foo {
     $NAME="/tmp/foo/foo/"
     $1 #tady se ma spustit: mkdir /tmp/foo/foo/
    }
    
    foo "mkdir $NAME"
    jak tady v tom foo "mkdir $NAME" zapsat tu proměnou aby se doplnila až v te funkci foo ? Zkoušel jsem to až všelijak ale fakt nevím. Díky
    foo "mkdir $NAME"
    foo "mkdir ""$NAME""
    foo "mkdir "\"$NAME"\"
    foo "mkdir "`$NAME`"
    atd..
    31.7.2012 13:57 chrono
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    Čo presne chceš vlastne urobiť? Tá funkcia foo má mať prvý parameter program, ktorý sa má spustiť a ďalší parameter / ďalšie parametre sa majú použiť ako argumenty toho programu?
    31.7.2012 14:07 MM
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    Více méně ano, ta funkce foo plní ty proměnné $NAME a musí ji přiřadit do toho příkazu v tomto případě do mkdir. Čili jak píšete potřebuji funkci foo předat příkaz který má spustit ale argument si musí funkce foo dosadit sama. Díky
    31.7.2012 14:12 MM
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    Té funkci foo předávám pouze ten příkaz mkdir ale taky budu předávat daleko složitější příkazy, tak potřebuji vřdy doplnit tu promměnou třeba tuto
    [ ! -d $NAME ] && mkdir $NAME
    31.7.2012 14:14 chrono
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    Nebude jednoduchšie tú funkciu použiť len na načítanie tých údajov a tie príkazy potom používať priamo?
    31.7.2012 14:12 chrono
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    Ja osobne by som to, veľmi pravdepodobne urobil úplne inak, každopádne použiť sa dá napr. eval (v tej funkcii sa namiesto $1 použije $(eval $1)a samotné volanie potom bude foo "mkdir \$NAME"
    31.7.2012 14:24 MM
    Rozbalit Rozbalit vše Re: BASH - nahrazení kódu
    Já bych to taky udělal jinak, předal bych třeba jen nějakou číselnou hodnotu třeba 1 a pak bych použil if switch který by provedl přesně to co potřebuji, bohužel ta funkce mimo jiné obsahuje nezmíněný kód který mi nedovolí daný switch použít. :(
    cat <<EOF
    XXX
    $BAR
    Vytvářím: $NAME
    XXX
    EOF

    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.