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í
×
    včera 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 0
    včera 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 0
    včera 17:55 | Nová verze

    AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | IT novinky

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Zajímavý článek

    Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

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

    Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 5
    včera 00:22 | Komunita

    Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.

    Ladislav Hagara | Komentářů: 2
    5.5. 22:22 | IT novinky

    Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.

    Ladislav Hagara | Komentářů: 7
    5.5. 00:33 | Nová verze

    Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.

    Ladislav Hagara | Komentářů: 0
    4.5. 15:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (15%)
     (14%)
    Celkem 118 hlasů
     Komentářů: 8, poslední 4.5. 08:25
    Rozcestník

    Dotaz: Zpracovani crontab v bash scriptu

    20.5.2010 09:31 renox
    Zpracovani crontab v bash scriptu
    Přečteno: 311×
    Z crontabu si prectu */10 * * * * /usr/local/bin/bash_script Potrebuji dostat jednotlive polozky do promennych (minute, hour, day_of_week...) nebo do pole. Je to pro me mission impossible, bud se mi wildcard preklada na soubory v adresari nebo pokud se snazim retezec rozstrhat CUTem po mezerach, tak mi druhou a treti polozku vrati stejnou... Nejaky napad, jak toho docilit? Diky za napady

    Řešení dotazu:


    Odpovědi

    20.5.2010 11:17 Franta Hanzlik
    Rozbalit Rozbalit vše Re: Zpracovani crontab v bash scriptu
    jestli to má být do proměnných/pole shellu sh/bash, tak se asi přímo vnucuje

    POLE=$(RADKA_CRONTABu)

    dál viz man stránky bashe (Advanced Bash Scripting Guide, abs-guide, přelétnout také není k zahození).
    20.5.2010 11:35 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: Zpracovani crontab v bash scriptu
    Zřejmě jste se uklepl. $(...) je jiný zápis pro `...` (který má mj. tu výhody, že lze vnářet.

    Nejspíše jste měl na mysli:
    POLE=(RADKA_CRONTABu)
    ksh ještě umí vtipný zápis:
    set -A <pole> <obsah>
    Ale bash ne.
    20.5.2010 12:39 Franta Hanzlik
    Rozbalit Rozbalit vše Re: Zpracovani crontab v bash scriptu
    Jasně, omlouvám se za matení... Dumal jsme zda nevrazit dolar jako rozvoj RADKA_CRONTABu, a dopadlo to takhle ;)
    20.5.2010 15:26 renox
    Rozbalit Rozbalit vše Re: Zpracovani crontab v bash scriptu
    Problemem pro neni ani tak kam to ulozit, ale jak to nasledne do dalsich promennych po kouskach nacist.
    POLE=(*/6 * * * *	/usr/local/bin/script /home/user/config/S2C.conf)
    echo ${POLE[0]}
    echo ${POLE[1]}
    echo ${POLE[2]}
    
    vypisuje:
    */6
    afdfs.txt.msg
    archiv.zip
    
    hvezdicka je problem a nevim, jak to obejit
    20.5.2010 15:38 marek
    Rozbalit Rozbalit vše Re: Zpracovani crontab v bash scriptu
    Dobry den.

    Zkuste uvozovky.

    Marek
    20.5.2010 15:54 Franta Hanzlik
    Rozbalit Rozbalit vše Re: Zpracovani crontab v bash scriptu
    "set -f" zakáže rozvoj cesty.
    20.5.2010 15:56 NN
    Rozbalit Rozbalit vše Re: Zpracovani crontab v bash scriptu
    Ta hvezdicka je problematicka, ale /etc/crontab pouziva TAB jako separator, takze si pomuzes takto:
    cat /etc/crontab | grep \*  | cut -f 4
    
    NN
    Řešení 1× (renox (tazatel))
    20.5.2010 15:59 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: Zpracovani crontab v bash scriptu
    Protože shell to rozšiřuje. Jak psal kolega. Možná než uvozovky je jednodušší "escape" extra znaku, než to začnete zpracovávat. třeba překlad pomocí: sed -e 's#\([?*$]\)#\\\1#g'.

    No a pak je tady ještě otázka. Kam tím vším míříte, jestli by to třeba nebylo lepší celé to rovnou směřovat do awk.
    21.5.2010 09:32 renox
    Rozbalit Rozbalit vše Re: Zpracovani crontab v bash scriptu
    sed -e 's#\([?*$]\)#\\\1#g'
    to je presne co jsem potreboval, ted uz se s tim da bez problemu pracovat. Moc dekuji
    20.5.2010 16:09 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Zpracovani crontab v bash scriptu
    Nie je problem v * a inych divokych znakoch, ale ze nepouzivas uvodzovky. Bezpecna strategia je, ze uvodzovky sa pouzivaju vzdy, okrem pripadov, ze je velmi dobry dovod ich nepouzit. Az budes guru, tak mozes zacat pouzivat uvodzovky iba tam, kde su fakt nutne.

    Dokaz, ze * nie je problem nacitat do premennej:
    cat /etc/crontab |
    while read a b c d e f g h; do
      echo ="$a" ="$b" ="$c" ="$d" ="$e" ="$f" ="$g" ="$h"
    done
    If you hold a Unix shell up to your ear, you can you hear the C.
    20.5.2010 18:36 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: Zpracovani crontab v bash scriptu
    To "escapování" jsem výše zmiňoval, protože pro daný postup zrovna uvozovky moc vhodné nejsou. Když už budu hledat konce polí, aby jednotlivé položky "zauvozovkoval", tak už to rovnou mohu rozebírat do toho pole. Ale:
    pole=(hodnota1 ... hodnotaN .... nebo_promenna)
    není to samé, co:
    pole=("hodnota1 ... hodnotaN .... nebo_promenna")
    S tím druhým jsme si stran krájení pomocí (...) moc nepomohli. ;)

    Jinak samozřejmě to, co píšete jako obecná poučka od věci není, akorát ještě s doplňkem, raději "${var}"

    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.