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 18:33 | IT novinky

    Apple dnes představil nový MacBook Air s čipem M3. Jak na něm pojede Asahi Linux?

    Ladislav Hagara | Komentářů: 2
    včera 16:44 | IT novinky

    Hodnota Bitcoinu, decentralizované kryptoměny překonala 65 000 dolarů (1 517 360 korun).

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

    Byla vydána nová stabilní verze 6.6 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 122. Přehled novinek i s náhledy v příspěvku na blogu. Nově umí webovým stránkách vnutit tmavý styl. Webové panely podporují rozšíření. Vylepšena byla i Pošta a Poznámky.

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

    Z aktuálních globálních statistik společnosti Statcounter: na desktopu má Linux podíl 4,03 %, Firefox 7,26 %, …

    Ladislav Hagara | Komentářů: 4
    včera 07:00 | Nová verze

    Linuxová distribuce openmediavault (Wikipedie) založená na Debianu a určená pro datová úložiště na síti (NAS) byla vydána ve verzi 7 (Mastodon). Její kódový název je Sandworm (písečný červ). Přehled novinek v oficiálním oznámení. Nejnovější openmediavault je založen na Debianu 12 s kódovým názvem Bookworm.

    Ladislav Hagara | Komentářů: 0
    3.3. 14:33 | Zajímavý software

    Ente je open source služba pro ukládání a sdílení fotografií a videí. Alternativa k výchozím aplikacím od Googlu a Applu. V pátek byly uvolněny zdrojové kódy serveru pod licencí AGPL 3.0 [Hacker News].

    Ladislav Hagara | Komentářů: 10
    3.3. 11:55 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    2.3. 22:33 | Komunita

    Nintendo žaluje Tropic Haze, tj. společnost zastřešující vývoj open source emulátoru přenosné herní konzole Nintendo Switch yuzu (Wikipedie).

    Ladislav Hagara | Komentářů: 3
    2.3. 13:00 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.1 a Linux From Scratch 12.1 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.39, Binutils 2.42 a Linuxem 6.7.4. Současně bylo oznámeno vydání verze 12.1 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

    Ladislav Hagara | Komentářů: 0
    1.3. 22:22 | Upozornění

    Google blokuje Chaty RCS (Rich Communication Services neboli rozšířené komunikační služby) na telefonech s rootnutým Androidem nebo odemčeným zavaděčem [9to5Google].

    Ladislav Hagara | Komentářů: 22
    Steam
     (33%)
     (29%)
     (7%)
     (8%)
     (23%)
    Celkem 119 hlasů
     Komentářů: 0
    Rozcestník

    Dotaz: Bash script, ktery se spousti v sh

    17.12.2010 22:31 ehy | skóre: 1
    Bash script, ktery se spousti v sh
    Přečteno: 347×
    Dobry den, mam jednoduchy script, ktery funguje jen na prvni spusteni. Spusti se spravne v bash. Script obsahuje na konci prikaz 'at' kde vola sam sebe. Jenze 'at' spousti script v sh coz mi nevyhovuje, protoze tam je jina syntax.
    script je v souboru aaa.sh
    #!/bin/bash
    COUNTER=0
    echo "COUNTER : [$COUNTER]">>log.txt
    let COUNTER=COUNTER+1
    echo "COUNTER : [$COUNTER]">>log.txt
    let COUNTER=COUNTER+1
    echo "COUNTER : [$COUNTER]">>log.txt
    let COUNTER=COUNTER+1
    echo "COUNTER : [$COUNTER]">>log.txt

    echo "SET $(date)">>log.txt

    at -f "aaa.sh" now+1minutes

    echo "NEW: $(atq)">>log.txt
    exit


    Chtel bych poradit jak resit tento problem. (asi existuje nejaky zpusob jak zarucit spousteni v bash)
    ps.: script vypisuje upozorneni :
    warning: commands will be executed using /bin/sh
    Diky

    Řešení dotazu:


    Odpovědi

    Řešení 1× (ehy (tazatel))
    17.12.2010 23:02 Sten
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    [ -n "$BASH" ] || exec /bin/bash $0
    18.12.2010 00:19 ehy | skóre: 1
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    diky ... vyzkousim to
    Napadlo me, ze kdyz spoustim stejny script mohl bych tento script pouze uspat prikazem sleep.
    18.12.2010 03:05 ehy | skóre: 1
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    tak nevim jak jste to myslel, ale tohle nefunguje :
    at -n "$BASH" -f "aaa.sh" now+1minutes
    -naznamy parameter -n
    at -f "exec /bin/bash $0" now+1minutes
    -nemuze najit cestu (bez parametru -f to zase pise syntax err)
    --------------------------------------------------------------------
    jinak jsem to vyresil tak, ze spustim pomocny soubor kde volam ten exec jak jste mi radil (moc elegantni to ale neni :( ) :
    at -f "startBash.sh" now+1minutes
    v souboru startBash.sh mam:
    #!/bin/bash
    exec bash aaa.sh
    Chytrex avatar 18.12.2010 03:18 Chytrex | skóre: 30 | Bohumín
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    No pokud se nepletu tak to co napsal sten je přesně syntax který ověří zda existuje bash, a pokud tedy ano, tak spustí sebe sama znovu. $0 je IIRC proměnná s názvem právě probíhajícího scriptu.
    Hrdý člen KERNEL ULTRAS .:. define QUESTION ((bb) || !(bb)) .:. Odmítám vaši realitu a nahrazuji ji svou vlastní..
    18.12.2010 03:51 ehy | skóre: 1
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    mas pravdu je to cely prikaz :)
    ja jsem si neuvedomil, ze by prikaz mohl vypadat taky takto :)
    ovsem je tam chybka :
    ten $0 vraci :"sh"
    $1 a $2 jsou prazdne :( tak nevim kde je schovane to jmeno spusteneho scriptu

    Takze reseni v tuto chvili mam :
    radek 1:[ -n "$BASH" ] || exec /bin/bash aaa.sh "
    17.12.2010 23:17 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    + si pozri, k comu sluzi cron.
    If you hold a Unix shell up to your ear, you can you hear the C.
    18.12.2010 00:14 ehy | skóre: 1
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    Nad cronem jsem premyslel jako prvni, ale potrebuji aby dalsi spusteni scriptu bylo za presny cas od jeho ukonceni. (doba vykonavani scriptu neni vzdy stejna) Ale cron nabizi "jen" periodicke opakovani spusteni v danny cas.
    Pro me by bylo vyhodne, kdybych mohl cron zavolat s nejakym parametrem "only once" a samozrejme cas vykonavani.
    Jestli cron dobre znate muzete mi poradit v tomto smeru ...
    Diky
    18.12.2010 00:35 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    To neviem, to asi ten "at", ale toto riesenie bude krehke v tom, ze ak ten skript spadne z nejakeho dovodu a nenaplanuje svoj dalsi beh, tak uz sa sam nenahodi.

    Ak staci nejaka granularita casu po minutach, tak mozes do cronu hodit tento skript a v nejakom subore si skladovat datum posledneho jeho dobehu. Skript sa pozrie, ci uz uplynula pozadovana doba a bud skonci, alebo ide robit tu hlavnu akciu. Na konci prepise subor s casom. Ak by spadol pocas hlavnej akcie, tak sa subor neprepise a o minutu sa to skusi znova.

    Ak hlavna akcia moze trvat aj dlhsie ako minutu, tak bud zmenis granularitu, alebo si este zavedies subor, do kt. budes zapisovat aj datum nastartovania skriptu a na konci skriptu ho budes mazat - aby nebezali 2 hlavne skripty sucasne.
    If you hold a Unix shell up to your ear, you can you hear the C.
    18.12.2010 00:38 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    Spustenim
    bash skript.sh
    zarucis jeho beh v bashi.
    If you hold a Unix shell up to your ear, you can you hear the C.
    18.12.2010 03:10 ehy | skóre: 1
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    to ano, ale nedokazu ho dostat do toho "at" prikazu. Uz jsem to psal jako odpoved Stenovi, reseni jsem nasel, ale neni moc hezke :(
    Řešení 1× (ehy (tazatel))
    18.12.2010 12:03 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    co takto
    echo 'bash -c aaa.sh' | at now+1minutes
    If you hold a Unix shell up to your ear, you can you hear the C.
    pavlix avatar 18.12.2010 13:42 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Bash script, ktery se spousti v sh
    Pokud má skript něco dělat v různých časových intervalech, doporučil bych z něj udělat démona a používat sleep (čekání s přesností na vteřiny).

    Pak ho stačí jednou spustit a nechat běžet.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.

    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.