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 02:55 | Bezpečnostní upozornění

    Výzkumníci ze společnosti ESET objevili 11 zapomenutých UEFI shim zavaděčů, které byly podepsány společností Microsoft, a které umožňují útočníkům obejít ochranu UEFI Secure Boot na většině zařízení. Microsoft je zneplatnil (přidal jejich hash do databáze dbx) v rámci aktualizace Patch Tuesday dne 9. června 2026. Uživatelé Linuxu mohou databází aktualizovat pomocí LVFS. Ověřit zneplatnění zavaděčů lze pomocí skriptu uefi-dbx-audit. Jedná se o CVE-2026-8863 a CVE-2026-10797.

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

    pico-usb-wifi je open source firmware pro Raspberry Pi Pico W, který jej promění v USB Wi-Fi adaptér. Po připojení k počítači se objeví jako zařízení USB CDC-NCM.

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | IT novinky

    Americká společnost Google ze skupiny Alphabet bude muset podle nových požadavků Evropské unie umožnit společnosti OpenAI i dalším konkurentům v oblasti umělé inteligence (AI) a internetových vyhledávačů přístup ke svým službám. Ve svém rozhodnutí o tom včera informovala Evropská komise (EK). Opatření má zajistit dodržování pravidel, jejichž cílem je omezit v EU tržní sílu velkých technologických firem. Google s tím nesouhlasí.

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Komunita

    Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)

    Ladislav Hagara | Komentářů: 4
    včera 00:22 | Zajímavý software

    Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    16.7. 19:55 | Nová verze

    Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    16.7. 14:44 | IT novinky

    Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.

    Ladislav Hagara | Komentářů: 5
    16.7. 14:22 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).

    Ladislav Hagara | Komentářů: 0
    16.7. 00:44 | Nová verze

    Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 0
    15.7. 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2156 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Seznam/pole (nebo tak něco) v sh

    Jardík avatar 1.4.2014 16:10 Jardík | skóre: 40 | blog: jarda_bloguje
    Seznam/pole (nebo tak něco) v sh
    Přečteno: 294×
    Potřeboval bych vytvořit něco jako seznam či pole v sh (bude to busyboxí ash nebo dash, bash ne).

    Např. když mám skript, který vypisuje argumenty
    for i in $*; do
      echo "$i"
    done
    
    A zavolám ho:
    $ myscript meow meow2 "meow with space"
    meow
    meow2
    meow
    with
    space
    
    Stejně je to když použiju $@ místo $*. Když to ale dám do uvozovek jako "$*" a "$@", tak dostávám:
    # for i in "$*"; do echo "$i"; done
    meow meow2 meow with space
    
    # for i in "$@"; do echo "$i"; done
    meow
    meow2
    meow with space
    
    Poslední příklad mi tedy dává, co potřebuju, v případě argumentů předaných skriptu. Co teď ale potřebuju je něco podobného s proměnnou místo argumentů. Následující nefunguje
    myvar="meow meow2 \"meow with space\""
    
    # for i in ${myvar}; do echo "$i"; done
    meow
    meow2
    "meow
    with
    space"
    
    # for i in "${myvar}"; do echo "$i"; done
    meow meow2 "meow with space"
    
    Co potřebuju je výstup
    meow
    meow2
    meow with space
    
    Věřím v jednoho Boha.

    Odpovědi

    1.4.2014 16:46 potato
    Rozbalit Rozbalit vše Re: Seznam/pole (nebo tak něco) v sh
    Posixový shell nemá pole (kromě argumentů) ani nepřímé reference. Viděl bych tyto možnosti:

    (a) Využít toho, že je k disposici jen jedno pole, ale není globální a formulovat celý kód tak, že se pole předávají dokola jako argumenty funkcí.

    (b) Narvat to do jedné proměnné, použít delimitery a pokaždé dělat explicitní split-unescape-escape-join cyklus.

    (c) Zatnout zuby a použít eval.

    (d) Ukládat data jinak (do souborů, etc.).

    (e) Nepsat RDBMS v dashi...
    Jardík avatar 1.4.2014 16:48 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Seznam/pole (nebo tak něco) v sh
    Tek jsem se dopracoval zatím k něčemu takému:
    # embeded newline
    myvar="meow
    meow2
    meow with space"
    
    SAVEIFS="${IFS}"
    
    # split on newline
    IFS=$'\n'
    a=1
    
    for i in ${myvar}; do
      echo "arg${a}: ${i}"
      a=$((a+1))
    done
    
    IFS="${SAVEIFS}"
    
    Tedy mám "jakési" pole, kde jsou položky rozděleni znakem nového řádku. Problém je, že znak nového řádku se může vyskytovat třeba ve jménu souboru (asi zřídka, ale může), takže by to chtělo jiný oddělovač. Bohužel nula (tj. jediný znak, který není v cestě souboru) jaksi v sh nefunguje :-(
    Věřím v jednoho Boha.
    Jardík avatar 1.4.2014 19:36 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Seznam/pole (nebo tak něco) v sh
    Hmm, tak na webu ubuntu tvrdí, že $'\n' je bashismus. V busyboxím ash mi to funguje, ale chtěl bych to mít portabilní (česky?). Zkusil jsem tedy jejich IFS="$(printf '\n')", jenže to mi novou řádku ukradne a do proměnné neuloží, ačkoliv samotný printf '\n' ji produkuje.
    Věřím v jednoho Boha.
    1.4.2014 20:33 potato
    Rozbalit Rozbalit vše Re: Seznam/pole (nebo tak něco) v sh
    Protože `` a $() pojídají koncové prázdné řádky. Nejspíš je to POSIX a tradice, nechce se mi to teď dohledávat. Získat z command substitution pouze konec řádku tedy nejde, musíš za něj v printf něco přidat, aby nebyl odstraněn, pak to zase zlikvidovat.

    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.