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 11:55 | IT novinky

    Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.

    Ladislav Hagara | Komentářů: 0
    dnes 10:55 | Zajímavý projekt

    Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].

    Ladislav Hagara | Komentářů: 1
    dnes 01:33 | IT novinky

    Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.

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

    Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

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

    Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.

    Fluttershy, yay! | Komentářů: 0
    včera 21:11 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 13:11 | IT novinky

    Město Lyon posiluje svou digitální suverenitu a postupně nahrazuje software od společnosti Microsoft bezplatnými alternativami, zejména OnlyOffice pro kancelářské aplikace a Linux a PostgreSQL pro systémy a databáze.

    Ladislav Hagara | Komentářů: 7
    včera 11:44 | Zajímavý projekt

    Evropská občanská iniciativa Stop Destroying Videogames se snaží o to, aby vydavatelé, kteří spotřebitelům v Evropské unii prodávají videohry nebo na ně udělují licence, měli povinnost tyto hry ponechat ve funkčním (hratelném) stavu i po ukončení podpory ze své strany. Podpořit podpisem tuto iniciativu můžete v Systému pro online sběr podpisů.

    trekker.dk | Komentářů: 4
    včera 11:22 | Komunita

    Mozilla oficiálně ukončila svůj již několik let mrtvý projekt DeepSpeech pro převod řeči na text.

    Ladislav Hagara | Komentářů: 2
    včera 05:22 | Komunita

    Krátce po oficiálním oznámení forku X.Org Xserveru s názvem XLibre Xserver byl ve Fedoře předložen návrh, aby byl X.Org Xserver nahrazen tímto XLibre Xserverem. Po krátké ale intenzivní diskusi byl návrh stažen.

    Ladislav Hagara | Komentářů: 25
    Jaký je váš oblíbený skriptovací jazyk?
     (58%)
     (29%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 316 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    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.