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 19:53 | Bezpečnostní upozornění
    V Xenu objevena zranitelnost. Chyba v mechanismu grant copy umožňuje škodlivému virtuálnímu stroji číst a přepisovat libovolnou paměť jiných VM včetně privilegované domény Dom0. Dotčené verze jsou Xen 4.6 a novější. V upstreamu jsou dostupné patche pro Xen 4.17 až 4.19 a vývojovou větev. Pro starší nepodporované verze 4.6–4.16 nejsou v XSA-523 přiloženy opravy.
    vencour | Komentářů: 0
    včera 16:55 | Nová verze

    Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).

    ʚĭɞ 🍉 | Komentářů: 0
    včera 12:22 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Nová verze

    Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

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

    Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 3
    včera 00:33 | Nová verze

    Bazzite (Wikipedie), tj. linuxová distribuce vycházející z Fedora Linuxu a optimalizována pro hraní počítačových her, byla vydána ve verzi 45. S Open Gaming Collective (OGC) jádrem a novým Easy Anti-Cheatem pro Linux (EAC Linux v2).

    Ladislav Hagara | Komentářů: 0
    4.11. 22:11 | Bezpečnostní upozornění

    MikroTik zveřejnil vlastní bezpečnostní upozornění potvrzující, že zranitelnost linuxového jádra postihuje také RouterOS 7. Jde o use-after-free při zpracování IPv4 TCP spojení s IP options. Zranitelnost se týká provozu směřujícího na TCP službu samotného routeru, nikoli paketů, které router pouze přeposílá. Opraveno v long-term od 7.24.6, v stable od 7.25.1 a devel od 7.26beta5.

    vencour | Komentářů: 0
    4.11. 17:00 | Bezpečnostní upozornění

    Ve správci balíčků APT, používaném v Debianu a odvozených distribucích, byla nalezena a opravena kritická zranitelnost CVE-2026-109518. Vzdálený útočník může obejít ověření stažených balíčků pomocí přesměrování a dočasných chyb HTTP serveru.

    Ladislav Hagara | Komentářů: 1
    4.11. 13:11 | IT novinky

    Nejvyšší kontrolní úřad (NKÚ) vydal zprávu o finančním řízení prostředků EU v ČR (pdf). Dočíst se lze například, že přes 8 miliard korun na digitální vzdělávání nepřineslo naplnění žádného z prioritních cílů programu. Peněžní prostředky z fondů EU sice byly vynaloženy formálně v souladu s právními předpisy, avšak s minimálním nebo neprokazatelným dopadem na proklamované cíle ve vzdělávání. Na Metodickém portálu RVP.CZ bylo ke konci

    … více »
    Ladislav Hagara | Komentářů: 21
    4.11. 11:33 | Nová verze

    Emulátor terminálu kitty (Wikipedie, GitHub) byl vydán v nové verzi 0.50.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2984 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Oprava příkazu

    11.2.2016 13:07 JduJenKolem
    Oprava příkazu
    Přečteno: 484×
    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ákno • Nahoru

    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.