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í
×
    dnes 21:44 | IT novinky

    Apple představil iPhone 17e a iPad Air s čipem M4.

    Ladislav Hagara | Komentářů: 0
    dnes 21:11 | Zajímavý software

    Byla vydána verze 1.0 editoru kódů Gram. Jedná se o fork editoru Zed bez telemetrie a umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    dnes 20:33 | IT novinky

    Byla oznámena spolupráce GrapheneOS s Motorolou. Podrobnosti v tiskové zprávě. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.2.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    dnes 02:11 | Komunita

    Volí se dvě místa v Radě openSUSE. Seznamte se se čtyřmi kandidáty. Členové projektu openSUSE mohou hlasovat od 1. do 8. března. Výsledky budou oznámeny 9. března.

    lkocman | Komentářů: 1
    včera 19:22 | IT novinky

    Společnost OpenAI uzavřela dohodu s americkým ministerstvem obrany o poskytování technologií umělé inteligence (AI) pro utajované sítě americké armády. Firma to oznámila několik hodin poté, co prezident Donald Trump nařídil vládě, aby přestala využívat služby společnosti Anthropic.

    Ladislav Hagara | Komentářů: 7
    včera 13:33 | IT novinky

    Technologická společnost Anthropic v noci na dnešek oznámila, že se obrátí na soud kvůli rozhodnutí ministerstva obrany označit ji za bezpečnostní riziko dodavatelského řetězce poté, co nevyhověla jeho požadavkům týkajícím se používání umělé inteligence (AI). Prezident Donald Trump krátce před tím uvedl, že nařídil federálním úřadům postupně ukončit využívání jejích AI technologií. Spor mezi firmou vyvíjející chatbot Claude a

    … více »
    Ladislav Hagara | Komentářů: 11
    28.2. 15:44 | Upozornění

    Zemřel Rob Grant, spolutvůrce kultovního sci-fi seriálu Červený trpaslík.

    Ladislav Hagara | Komentářů: 8
    27.2. 17:33 | IT novinky

    Apple oznámil, že iPhone a iPad jako první a jediná zařízení pro koncové uživatele splňují požadavky členských států NATO na zabezpečení informací. Díky tomu je možné je používat pro práci s utajovanými informacemi až do stupně „NATO Restricted“, a to bez nutnosti instalovat speciální software nebo měnit nastavení. Žádné jiné běžně dostupné mobilní zařízení tak vysokou úroveň státní certifikace dosud nezískalo.

    Ladislav Hagara | Komentářů: 20
    27.2. 13:00 | IT novinky

    Americký provozovatel streamovací platformy Netflix odmítl zvýšit nabídku na převzetí filmových studií a streamovací divize konglomerátu Warner Bros. Discovery (WBD). Netflix to ve čtvrtek oznámil v tiskové zprávě. Jeho krok po několikaměsíčním boji o převzetí otevírá dveře k akvizici WBD mediální skupině Paramount Skydance, a to zhruba za 111 miliard dolarů (2,28 bilionu Kč).

    Ladislav Hagara | Komentářů: 20
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (11%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (26%)
    Celkem 990 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: posielanie "signalov" medzi beziacimi bash scriptami

    17.10.2011 15:28 eth4rendil | skóre: 13
    posielanie "signalov" medzi beziacimi bash scriptami
    Přečteno: 271×
    Dobrý deň,

    chcel by som sa spýtať. Je možné medzi bežiacimi bash scriptami posielať premenné. Teda napr. script xy je spustený 10 krát s iným argumentom. Teda jeden script odošle druhému "signál" ktorým si druhý zmeni napr. premennú. Blbo sa mi to vysvetluje radšej príklad :) :

    main.sh:
    #!/bin/bash
    
    ARGUMENTS=( arg1 arg2 arg3 arg4 arg5 )
    
            for ARGUMENT in ${ARGUMENTS[@]}
            do
                    ./slave.sh $ARGUMENT &
                    ./slave.sh $ARGUMENT &
            done
    
    slave.sh:
    #!/bin/bash
    
    ARGUMENT=$1
    
    while [ 1 ]
    do
            echo $ARGUMENT 
            sleep 30
    done
    
    main.sh spustí 10 krát script slave.sh s rôznymi argumentami. Ciel je aby script napr. "slave.sh arg1" odoslal signál na zmenu premennej napr. "slave.sh arg2" a ten premennu zmenil... Jedine čo ma napladlo je, že by sa premenne ukladali do dočasneho suboru s nazvom hodnota argumentu a od tial by si to slave.sh v každom cykle čital. Ale toto riešenie sa mi nezda moc dobré. Napadá Vás niečo? ďakujem

    Řešení dotazu:


    Odpovědi

    17.10.2011 15:58 NN
    Rozbalit Rozbalit vše Re: posielanie "signalov" medzi beziacimi bash scriptami
    Promennou muzes exportovat tak, ze ji subshell zdedi:
    export ARG=val
    NN
    17.10.2011 16:09 eth4rendil | skóre: 13
    Rozbalit Rozbalit vše Re: posielanie "signalov" medzi beziacimi bash scriptami
    dakujem. Ale slave.sh je subshell main.sh. Mne ide o odoslanie premennej medzi konkrétnymi slave.sh scriptami.
    Řešení 1× (eth4rendil (tazatel))
    17.10.2011 16:09 l4m4
    Rozbalit Rozbalit vše Re: posielanie "signalov" medzi beziacimi bash scriptami
    =====[ master.sh ]=====
    #!/bin/bash
    
    coproc bash slave.sh
    #echo $0: pid is ${COPROC_PID}
    #echo $0: output is ${COPROC[0]}
    #echo $0: input is ${COPROC[1]}
    queue=/dev/fd/${COPROC[1]}
    
    echo "A message" >$queue
    echo "Another message" >$queue
    sleep 5
    echo "A delayed message" >$queue
    
    =====[ slave.sh ]=====
    #!/bin/bash
    while read message; do
        echo "$0: Got a message: $message." 1>&2
    done
    echo "$0: Finished." 1>&2
    
    17.10.2011 16:20 eth4rendil | skóre: 13
    Rozbalit Rozbalit vše Re: posielanie "signalov" medzi beziacimi bash scriptami
    uzasne, dakujem pekne
    17.10.2011 16:37 eth4rendil | skóre: 13
    Rozbalit Rozbalit vše Re: posielanie "signalov" medzi beziacimi bash scriptami
    len škoda, že sa môže coproc spustiť iba 1x. Pri pokuse spustiť viac krát sa zobrazí: warning: execute_coproc: coproc [26841:COPROC] still exists

    niekde som objavil takéto niečo:
    #!/bin/bash
    
    # Clone stdout to 3
    exec 3>&1
    # Run TRA filtering letter "a"
    coproc TRA ( sed s/a/A/g >&3 )
    # Run TRB filtering letter "b"
    coproc TRB ( sed s/b/B/g >&3 )
    
    while read ; do
            case $REPLY in
            /* )
                    echo "$REPLY" >&${TRB[1]}
                    ;;
            * )
                    echo "$REPLY" >&${TRA[1]}
                    ;;
            esac
    done
    
    # Close input (otherwise script will not end on EOF).
    eval exec ${TRA[1]}\>\&-
    eval exec ${TRB[1]}\>\&-
    vyzerá to o niečo zložitejšie, ale snáď to bude fungovať :)
    17.10.2011 16:44 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: posielanie "signalov" medzi beziacimi bash scriptami
    Jen poznámka - je to feature bash 4, např. v oldstable debian lenny ještě není k dispozici. Stejně jako třeba asociativní pole - skript jsem po nasazení na produkční server s lenny musel přepsat do pythonu :)
    17.10.2011 16:52 eth4rendil | skóre: 13
    Rozbalit Rozbalit vše Re: posielanie "signalov" medzi beziacimi bash scriptami
    to som mal stastie :)
    GNU bash, version 4.1.5(1)-release
    Fungovať to funguje ale toho warningu sa nezbavím :/
    17.10.2011 17:30 l4m4
    Rozbalit Rozbalit vše Re: posielanie "signalov" medzi beziacimi bash scriptami
    coproc lze použít vícekrát i bez warningu, a to s jiným NAME; akorát tomu neumím vnutit podle dokumentace jiný NAME -- a nikdy jsem to nepotřeboval tak moc, abych musel zjistit jak to tedy udělat.

    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.