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 13:55 | Nová verze

    Byla vydána nová verze 9.2 textového editoru Vim (Vi IMproved). Přináší vylepšené doplňování, podporu schránky ve Waylandu, podporu XDG Base Directory (konfigurace v $HOME/.config/vim), vylepšené Vim9 skriptování nebo lepší zvýrazňování změn. Vim zůstává charityware. Nadále vybízí k podpoře děti v Ugandě. Z důvodu úmrtí autora Vimu Brama Moolenaara a ukončení činnosti jím založené charitativní organizace ICCF Holland projekt Vim navázal spolupráci s charitativní organizaci Kuwasha.

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

    Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.

    NUKE GAZA! 🎆 | Komentářů: 1
    včera 12:22 | Nová verze

    Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Komunita

    Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).

    Ladislav Hagara | Komentářů: 9
    13.2. 19:44 | Zajímavý projekt

    Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.2. 17:44 | Nová verze

    Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    13.2. 12:11 | IT novinky

    Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.

    Ladislav Hagara | Komentářů: 18
    13.2. 11:44 | IT novinky

    Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.

    Ladislav Hagara | Komentářů: 2
    13.2. 04:44 | Humor

    Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.

    NUKE GAZA! 🎆 | Komentářů: 34
    12.2. 20:11 | Nová verze

    Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (11%)
     (27%)
     (3%)
     (4%)
     (1%)
     (12%)
     (27%)
    Celkem 871 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Oprava příkazu

    11.2.2016 13:07 JduJenKolem
    Oprava příkazu
    Přečteno: 233×
    Ahoj, poradte mi prosim proc mi tohle nyvyhodi chybu kdyz cesta neexistuje. Dekuji
    for f in $(find "/pozadovana/cesta" -type f || exit 1);do . "$f" || exit 1; done

    Odpovědi

    Jendа avatar 11.2.2016 13:18 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Oprava příkazu
    Mně to chybu vyhodí
    ~> for f in $(find "/pozadovana/cesta" -type f || exit 1);do . "$f" || exit 1; done
    find: ‘/pozadovana/cesta’: No such file or directory
    
    11.2.2016 13:41 JduJenKolem
    Rozbalit Rozbalit vše Re: Oprava příkazu
    Hm, u me zadna chyba, muzu mit neco vypnute nebo spatne nastaveno ? Dik
    11.2.2016 13:57 JduJenKolem
    Rozbalit Rozbalit vše Re: Oprava příkazu
    Tak jsem zjistil, ze jdou chyby do nejakeho souboru 2>/logfile. Uz to funguje ale stale to nebere zretel na ten exit 1, i kdyz dir neexistuje script bezi dal, je to spatne napsane ? Dik
    11.2.2016 15:47 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Oprava příkazu

    V tom vnořeném příkazu nebude mít exit 1 žádný vliv, protože se z něj návratová hodnota nijak nepropaguje ven. Stačí se podívat na tohle:

    for i in $(nonsense); do echo "$i"; done
    

    Kupodivu to má návratovou hodnotu 0 (tedy úspěch), přestože nonsense neexistuje a nelze nic takového spustit (a normálně by shell vrátil hodnotu 127).

    Ještě odbočím: Aby člověk rovnou na promptu viděl návratovou hodnotu posledního příkazu, je víc než rozumné přidat si do ~/.bashrc nebo ~/.bash_profile (nebo klidně do /etc/profile, pro mě za mě) něco takového:

    PCOLOR_DEFAULT=$'\033[00m'
    PCOLOR_RED=$'\033[01;31m'
    PCOLOR_GREEN=$'\033[01;32m'
    PCOLOR_YELLOW=$'\033[01;33m'
    PCOLOR_BLUE=$'\033[01;34m'
    PCOLOR_SHINY=$'\033[01;37m'
    get_exit_status() {
      status="${?}"
      if [[ 0 -eq "${status}" ]]; then
        echo \
        'XCODE_COLOR="${PCOLOR_BLUE}"
        XCODE_STATUS='\'\'
      else
        echo \
        'XCODE_COLOR="${PCOLOR_RED}"
        XCODE_STATUS="['"${status}"']"'
      fi
    }
    PROMPT_COMMAND='eval $(get_exit_status)'
    PS1='\[${XCODE_COLOR}\](\[${PCOLOR_BLUE}\]\u\[${PCOLOR_YELLOW}\]@\[${PCOLOR_SHINY}\]\h\[${PCOLOR_DEFAULT}\] \[${PCOLOR_GREEN}\]\W\[${XCODE_COLOR}\])${XCODE_STATUS}\$\[${PCOLOR_DEFAULT}\] '
    
    Zpět k tématu: Nejblíž tomu, čeho jsi asi chtěl docílit, bude následující:
    (
      set -e
      tmp="$(mktemp -d)"
      trap 'rm -Rf "$tmp"' EXIT
      mkfifo "$tmp"/pipe
      find "/požadovaná/cesta" -type f > "$tmp"/pipe &
      pid="$!"
      while read f; do . "$f"; done < "$tmp"/pipe
      wait "$pid"
    )
    

    Důvod, proč používám fifo a ne přímo pipe, je inlinování těch nalezených souborů do hlavního kontextu současného shellu. Kdyby while-cyklus četl názvy souborů ze shellové pipe, všechno, co ty inlinované soubory změní a nastaví, by po skončení pipeline nikde nezůstalo.

    (Při použití pipeline se ovšem dají aspoň zjistit návratové hodnoty všech příkazů pipeline z bashového pole PIPESTATUS a vrátit třeba logický or mezi návratovými hodnotami nebo tak něco: status=0; for i in "${!PIPESTATUS[@]}"; do ((status |= PIPESTATUS[i])); done; exit "$status". Jakmile se používá `příkaz` nebo $(příkaz) jako argument for-cyklu, nic podobného není k dispozici.)

    Výše uvedený skript okamžitě skončí s chybou, když find nemůže otevřít adresář pro hledání. Skončí taky s chybou po prvním nalezeném souboru, který se nepodaří nainlinovat (neplatný symlink, nejsou oprávnění atd. atp.). To by snad mohlo být ono.

    11.2.2016 14:25 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Oprava příkazu
    Asi bych to zjednodušil do tvaru
    for f in "/pozadovana/cesta"/*; do
        . "$f"
    done
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    11.2.2016 15:49 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Oprava příkazu

    Tazatel ale neříká, že tam nemá podadresáře. Taky neříká, že by tam nesměly být soubory s názvem začínajícím tečkou.

    11.2.2016 16:28 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Oprava příkazu
    Jasně, zapomněl jsem se ho zeptat. Snad to tolik nevadí.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

    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.