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:44 | Zajímavý článek

    Před 32 lety, 6. června 1993, byl spuštěn první český WWW server (ještě pod TLD .cs), pro potřeby fyziků zabývajících se problematikou vysokých energií.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Zajímavý software

    Střílečku Borderlands 2 lze v rámci výprodeje série Borderlands na Steamu získat zdarma napořád, když aktivaci provedete do 8. června 19:00.

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

    Byla vydána nová verze 2.22 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

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

    Canonical Launchpad vypíná systém správy verzí Bazaar. Vývojáři mohou své repozitáře do 1. září přemigrovat na Git.

    Ladislav Hagara | Komentářů: 5
    5.6. 13:22 | Nová verze

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

    Ladislav Hagara | Komentářů: 3
    5.6. 12:33 | Komunita Ladislav Hagara | Komentářů: 15
    5.6. 11:22 | Komunita

    Na Indiegogo byla spuštěna kampaň na podporu linuxového telefonu Liberux NEXX s osmijádrovým procesorem Rockchip RK3588S, 32 GB LPDDR4x RAM a 6.34″ 2400×1080 OLED displejem. Cena telefonu je 1 310 eur.

    Ladislav Hagara | Komentářů: 3
    5.6. 11:11 | Komunita

    Miro Hrončok vyhrál volby do Fedora Council. Mezi sedmi kandidáty, kteří se ucházeli o dvě křesla, nakonec získal nejvíce hlasů - 1089. Česká komunita má tak po delší době opět zástupce v nejvyšším orgánu Fedory.

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

    Redox OS (Wikipedie), tj. mikrokernelový unixový operační systém naprogramovaný v programovacím jazyce Rust, nově podporuje X11 a GTK 3.

    Ladislav Hagara | Komentářů: 0
    5.6. 02:55 | IT novinky

    Dnes po celém světě startuje prodej herní konzole Nintendo Switch 2.

    Ladislav Hagara | Komentářů: 7
    Jaký je váš oblíbený skriptovací jazyk?
     (54%)
     (33%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 214 hlasů
     Komentářů: 14, poslední 2.6. 08:30
    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: 364×
    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.