abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:55 | IT novinky

    Sam Bankman-Fried, zakladatel zkrachovalé kryptoměnové burzy FTX, byl dnes odsouzen k 25 letům vězení [Yahoo Finance].

    Ladislav Hagara | Komentářů: 0
    dnes 18:33 | IT novinky Ladislav Hagara | Komentářů: 0
    dnes 13:11 | Nová verze

    Byla vydána nová verze 2.53.18.2 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Zajímavý článek

    Na blogu programovacího jazyka Swift byl publikován příspěvek Psaní aplikací pro GNOME v programovacím jazyce Swift. Používá se Adwaita pro Swift.

    Ladislav Hagara | Komentářů: 4
    včera 17:44 | Zajímavý software

    egui je GUI knihovna pro programovací jazyk Rust běžící na webu i nativně. Vydána byla verze 0.27.0.

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

    Byla vydána nová verze 6.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.13. Thunderbird na verzi 115.9.0.

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

    Linka STOPonline.cz v roce 2023 přijala 3700 hlášení závadného obsahu na internetu, 22 bylo předáno PČR, 23 bylo předáno ISP a 944 závadových domén zobrazujících dětskou nahotu či pornografii bylo nahráno do mezinárodního systému ICCAM, který je spravován asociací INHOPE.

    Ladislav Hagara | Komentářů: 6
    26.3. 20:44 | Zajímavý článek

    Byla publikována podrobná analýza v upstreamu již opravené bezpečnostní chyby CVE-2024-1086 v Linuxu v nf_tables.

    Ladislav Hagara | Komentářů: 0
    26.3. 18:44 | Nová verze

    Byla vydána nová verze 4.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v obsáhlých poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.3. 18:22 | Nová verze

    Úkolníček Taskwarrior (Wikipedie) pro správu úkolů z příkazového řádku byl vydán ve verzi 3.0.0.

    Ladislav Hagara | Komentářů: 0
    Steam
     (24%)
     (29%)
     (14%)
     (9%)
     (24%)
    Celkem 382 hlasů
     Komentářů: 10, poslední dnes 17:31
    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
    3.9.2011 14:07 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: bash - načtení proměnných ze souboru

    Ach jo. To je opravdu tak těžké pochopit, že pro řešení problému je potřeba ukázat, jak vypadá konfigurační soubor, se kterým máte problémy, ne ten, se kterým je nemáte?

    Takže otázka je pořád stejná. Když nedefinuju $IFS, tak čtu špatně soubor. Když definuju $IFS, tak se mi v cyklu odmítá cokoli spustit (dokonce i mimo cyklus)! Co s tím?

    Místo tučného písma a vykřičníku raději poskytněte informace potřebné k řešení. Takhle můžu jen hádat, jeden problém by mohl být v tom, že když nastavíte proměnnou IFS takhle, tak (1) ovlivní úplně všechno, co dělá váš shell a co závisí na její hodnotě, tj. i v té příkazové substituci a (2) jen shodou okolností se vůbec aplikuje na ten příkaz read. Proměnná IFS je nebezpečná hračka a měla by se nastavovat jen tam, kde to opravdu potřebujete, tj.

      egrep -v '^#' $config | while IFS=';' read label target cmd2 cmd3; do
    

    Další problém, na který narazíte vzápětí, je, že všechno, co je v těle cyklu, tedy i ssh, zpracovává stejný standardní vstup jako read, takže se ve výsledku zpracuje jen první řádek. Dá se to obejít různě, např. tak, že všemu, co by mohlo něco číst ze vstupu (např. tomu ssh) přesměrujete vstup z /dev/null. Nebo si lze pomoci trikem

      exec 3< <(egrep -v '^#' $config)
      while IFS=';' read label target cmd2 cmd3 <&3; do
    

    Na vašem místě bych si ovšem nekomplikoval život, konfigurační soubor by vypadal takto

    job1  mike@host1     id ; df -h / ; w -f
    job2  root@host1     id ; w -f
    job3  root@host2     id ; w -f ; df -h
    

    a skript takto

    #!/bin/bash
    
    egrep -v '^#' cmds | while read label target cmd; do
        out=`ssh $target "$cmd" </dev/null`
        echo -e "job $label:\n$out"
    done
    

    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.