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ářů: 8
    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ářů: 13
    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 1908 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    13.11.2017 21:38 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak vyskočit z již spuštěné funkce read?

    To klidně jde, jenom je potřeba netrvat na ESC. Co takhle Ctrl+C? Tady je příklad, kde Ctrl+C funguje:

    #!/bin/bash
    
    do_something() {
      read -p 'Enter task name: ' input
      [[ "$input" = 'exit' ]] && return 1
      echo "Task running: ${input}"
      sleep 3
      echo "Task done: ${input}"
    }
    
    while ((0 == $?)); do (
      set -e
      do_something 0<&0 &
      PID=$!
      trap "kill $PID" INT
      status=0
      wait $PID || status=$?
      trap - INT
      case $status in
          1) echo 'Task encountered "exit" or end of input.'; exit 1 ;;
        130) echo 'Task interrupted by Ctrl+C.' ;;
          *) echo "Task finished with status ${status}." ;;
      esac
    ) done
    

    Tohle se zeptá na název nějakého úkolu, pak to předstírá, že něco dělá (3 sekundy spí — přesně tam se dá napsat, co to ve skutečnosti má dělat) a během celé rádoby-činnosti se to dá kdykoliv přerušit pomocí Ctrl+C, což se vrátí zase zpátky k promptu s názvem úkolu. Těch readů tam samozřejmě může být za sebou několik a kdykoliv se to pak bude dát přerušit s návratem na první prompt. Celé se to dá ukončit buď zadáním exit nebo ukončením vstupu pomocí Ctrl+D.

    Technická: Subshell v cyklu je především proto, aby se nevypisovaly na terminál obsáhlé hlášky o stavu ukončenéno procesu — stav zpracovává a hlásí ten case, takže ho není potřeba vidět od shellu ještě jednou. Jinak by se dalo obejít bez něj.

    INT (zvaný taky SIGINT) je ten signál, který skript dostane při stisku Ctrl+C.

    Mimochodem, tohle řešení má několik zjevných race condition v tom smyslu, že ve vzácných případech může být nutné stisknout Ctrl+C dvakrát a v podobně vzácných případech se shell pokusí zabít proces, který už neběží (či jiný nešťastný proces, který mezitím dostal stejný PID). Oba problémy se dají odstranit pomocí zamykání (což obvykle obnáší vytvořit si dočasný adresář (mktemp -d) a v něm vytvářet zamykací podadresář — mkdir může posloužit v shellu k implementaci poor man's mutexu). To ale tenhle triviální příklad nedělá.

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.