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 18:33 | Nová verze

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    25.3. 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 28
    25.3. 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 11
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

    Ladislav Hagara | Komentářů: 0
    24.3. 09:11 | Bezpečnostní upozornění

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    24.3. 08:55 | IT novinky

    Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).

    Ladislav Hagara | Komentářů: 0
    23.3. 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 328 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: ssh zastavi skript

    6.8.2006 01:35 h7
    ssh zastavi skript
    Přečteno: 108×
    Ahoj, rad bych pomoci nize psaneho skriptu automatizoval drobne ukony na vice masinach.Mam zprovozneno funkcni ssh overovani pomoci klice. Pokud odkomentuji # echo totofunguje ,tak while probehne ,ale s ssh commandem ne.Kde delam chybu? Pekne nedelni rano! h7
    while read ip; do
    if $(echo $ip|grep -q '#')
    then
     echo "Lokalita $ip"
    else
    # echo totofunguje
     ssh $ip ls
    fi
    done < /serverlist.txt
    
    #### serverlist.txt ###
    
    #praha
    1.2.3.4
    #brno 
    2.3.4.5
    #ostrava
    1.4.7.8
    

    Odpovědi

    6.8.2006 04:04 Haaja | skóre: 25 | blog: haaja | Praha
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    No tak na prvni pohled mi prijde, ze v te druhe casti podminky, za else v promenne $ip neni jen ipadresa ale je tam treba: praha 1.2.3.4, tam se tezko pripoji.

    6.8.2006 04:07 Haaja | skóre: 25 | blog: haaja | Praha
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Tak jsem to zkusil, a je to tak, takze to chce nejak vzit pouze tu ip adresu, jde to vyresit treba takto:
    #!/bin/bash
    while read ip 
      do if $(echo $ip|grep -q '#'); then
            echo "Lokalita $ip"; 
         else
            ip=${ip#*:}
            ssh $ip ls
         fi 
      done < ~/serverlist.tx
    

    haaja@book ~ $ cat serverlist.txt 
    #praha:127.0.0.1
    brno:127.0.0.1
    

    Nevim jestli je to nejlepsi reseni, ale snad to pomuze.
    6.8.2006 09:57 h7
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Cau ,dik za snahu... ..ale blbe jsem vlozil dotaz (formatovani),txt soubor mam opravdu ve tvaru
    #praha
    1.2.3.4
    #brno
    1.2.3.5
    #ostrava
    1.2.3.6
    Nemuze to byt nejakym nastavenim ssh ,pouzima fedoru 5 h7
    6.8.2006 10:10 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Opravil jsem formátování v dotazu.
    When your hammer is C++, everything begins to look like a thumb.
    6.8.2006 11:48 Haaja | skóre: 25 | blog: haaja | Praha
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Aha, uz jsem pochopil v cem je zakopany pes. Myslim, ze nastaveni ssh na to vliv nema. Ale dela mi to zrejme to same co vam, pripoji se na prvni ssh adresu a pak se ukonci.
    6.8.2006 11:54 h7
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    yoyo to je presne to nezadouci chovani... kdysi davno jsem podobnou while smycku + ssh pouzival na mandrake a tam vse chodilo. Problem tedy hledam v ssh. h7
    6.8.2006 12:19 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ssh zastavi skript

    Problém je v tom, že potomek, v tomto případě ssh, zdědí veškeré deskriptory otevřených souborů od svého rodiče, v tomto případě shellu provádějícího skript. Protože máte přesměrovaný standardní vstup při provádějí skriptu while, bude i ssh spušten s takto přesměrovaným vstupem a podle všeho vám ho "vyluxuje". Vyřešit to můžete např. takto:

    #!/bin/bash
    
    exec 3<serverlist.txt
    while read ip <&3; do
    if [ "${ip#*#}" != "${ip}" ]
    then
      echo "Lokalita $ip"
    else
      ssh "$ip" ls
    fi
    done
    
    6.8.2006 12:28 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Jo, a nedávejte, prosím, předem jedno "nebyla vyřešena" do zásoby.
    6.8.2006 12:33 Haaja | skóre: 25 | blog: haaja | Praha
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Omlouvám se.
    To "nebyla vyřešena" jsem dal já, omylem jsem kliknul na "byla" vyřešena a aby to nemátlo, tak jsem to chtěl vrátit a jediné co mě napadlo, bylo použít tlačítko "nebyla". Aby se k tomu příspěvku někdo vrátil.

    Moc dobře to řešení nechápu, konkrétně to použití exec 3< ale k tomu snad pomůže man stránka.
    6.8.2006 12:40 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Příkaz exec vám otevře ten soubor coby handle 3 a read necháte číst z tohoto otevřeného souboru (ampersand mu říká, že trojka je číslo deskriptoru a ne jméno souboru). Tím nedojde k přesměrování standardního vstupu a ssh pracuje s vaším terminálem, což potřebujete.
    6.8.2006 12:43 Haaja | skóre: 25 | blog: haaja | Praha
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Děkuji za objasnění.
    David Watzke avatar 7.8.2006 05:12 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Omlouvám se.
    To "nebyla vyřešena" jsem dal já, omylem jsem kliknul na "byla" vyřešena a aby to nemátlo, tak jsem to chtěl vrátit a jediné co mě napadlo, bylo použít tlačítko "nebyla". Aby se k tomu příspěvku někdo vrátil.
    Jj, chtělo by to fixnout bug #534 :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Josef Kufner avatar 6.8.2006 12:44 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    A nebylo by jednodušší ssh vstup sebrat?
    while read ip; do
    if $(echo $ip|grep -q '#')
    then
     echo "Lokalita $ip"
    else
    # echo totofunguje
     ssh -n $ip ls
    fi
    done < /serverlist.txt
    Hello world ! Segmentation fault (core dumped)
    6.8.2006 12:46 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    To by sice jednodušší bylo, ale hrozí riziko, že až budete za pár měsíců ten skript upravovat, nevzpomenete si na to, přidáte do některé z větví jiný příkaz, který něco čte ze standardního vstupu, a budete tam, kde jste byl.
    Josef Kufner avatar 6.8.2006 18:31 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Třeba není tak hloupý a vzpomene si na tenhle problém s ssh a připíše za ten příkaz </dev/null
    Hello world ! Segmentation fault (core dumped)
    6.8.2006 13:22 h7
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Diky vsem za odpoved,zas jsem trochu chytrejsi.. Mohl by mi nekdo vysvetlit proc nasledujici konstrukce nefunguje?

    exec 3<serverlist.txt
    while read ip ; do
    if [ "${ip#*#}" != "${ip}" ]
    then
      echo "Lokalita $ip"
    else
      ssh "$ip" ls
    fi <&3
    done
    
    6.8.2006 13:26 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ssh zastavi skript
    Z přesně stejného důvodu jako to, co jste měl na začátku: ssh zdědí deskriptor, kterým čtete obsah souboru serverlist.txt, jako svůj standardní vstup.

    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.