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 12:11 | Nová verze

    Byla vydána nová major verze 7.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově je postavena je na Debianu 13 (Trixie) a GNOME 48 (Bengaluru). Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | IT novinky

    Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.

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

    Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

    Ladislav Hagara | Komentářů: 3
    včera 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Nová verze

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 5
    včera 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 7
    včera 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    16.9. 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    16.9. 17:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (52%)
     (60%)
     (0%)
     (8%)
     (12%)
     (4%)
     (12%)
     (4%)
     (8%)
    Celkem 25 hlasů
     Komentářů: 2, poslední dnes 09:57
    Rozcestník

    Dotaz: Oprava příkazu

    11.2.2016 13:07 JduJenKolem
    Oprava příkazu
    Přečteno: 228×
    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.