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

    Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.

    |🇵🇸 | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.

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

    Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Bezpečnostní upozornění

    Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.

    Ladislav Hagara | Komentářů: 2
    včera 02:44 | Komunita

    Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    3.12. 18:11 | Nová verze

    Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    3.12. 05:55 | Nová verze

    Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).

    Ladislav Hagara | Komentářů: 16
    3.12. 05:11 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).

    Ladislav Hagara | Komentářů: 0
    3.12. 01:55 | Nová verze

    Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (25%)
     (16%)
     (18%)
    Celkem 428 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Dotaz: príliš skorá expanzia príkazu

    jose17 avatar 22.3.2007 13:06 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
    príliš skorá expanzia príkazu
    Přečteno: 167×
    prosím, potrebujem pomôcť s nasledovným kódom:
    ssh -o StrictHostKeyChecking=no host02 ssh -o StrictHostKeyChecking=no host01 'echo "`if [ $(ps -ef | grep xntpd | wc -l) -ne 0 -a \"$(ntpq -p | sed -n 3p | sed \"s/[^ ]* *[^ ]* *\([^ ]*\) *.*/\1/\")\" != 1 ]; then echo \"yes\"; else echo \"no\"; fi`;'
    
    čiže sa jedná o spustenie kódu na vzdialenom stroji (host01), na ktorý sa pripájam z iného vzdialeneho stroja (host02). problém je v tom, že ntpq sa spustí lokálne.

    nejak si s tým už neviem dať rady. díky za pomoc,

    -- jose
    Ja vim, on vi, ty nano!

    Odpovědi

    22.3.2007 14:20 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: príliš skorá expanzia príkazu
    Nejsem si jistý, zda to souvisí, ale rozhodně Vám tam chybí jedny uvozovky úplně na konci parametru příkazu echo.

    ...tedy pokud jsem dobře koukal. ;)
    jose17 avatar 22.3.2007 14:28 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
    Rozbalit Rozbalit vše Re: príliš skorá expanzia príkazu
    jo, máte recht. ale ich pridanie nepomôže.
    Ja vim, on vi, ty nano!
    22.3.2007 14:54 JMP | skóre: 30
    Rozbalit Rozbalit vše Re: príliš skorá expanzia príkazu
    a mozna by to chtelo dalsi tak, aby to vzalo druhy ssh i s parametrama jako jeden prikaz?
    22.3.2007 15:18 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: príliš skorá expanzia príkazu
    Tak jsem na to ještě koukal a uteklo mi, že tam máte jeden krok mezi. Vypadá to, že věc se má takhle:

    ssh host01 ssh host02 echo $HOSTNAME

    expanduje $HOSTNAME rovnou na mašině, kde to spouštíte, to je celkem ještě jasné.

    ssh host01 ssh host02 'echo $HOSTNAME'

    By člověk možná čekal, že se nic neexpanduje a ssh spojení na host02 dostane 'echo $HOSTNAME' jako svůj parametr... jenomže host jedna prostě spustí:

    ssh host02 echo $HOSTNAME

    Jsme tedy o krok blíže, ale ještě ne tam, kde jsme chtěli.

    Tak to escapujeme i pro interpretaci na host02 a voila:

    ssh host01 ssh host02 'echo \$HOSTNAME'

    máme hostname z host02. Drobný detail, pro $(...) budete muset escapovat vše, tedy: \$\(...\), ale to byste brzy jistě zjistil sám, ono už by si to postěžovalo.
    Medved09 avatar 22.3.2007 15:24 Medved09 | skóre: 26 | Havlíčkův Brod / Brno
    Rozbalit Rozbalit vše Re: príliš skorá expanzia príkazu

    jen tak z hlavy - zkousel jste

    ... \\"$(ntpq -p | sed -n 3p ...
    Fordem tam, vlakem zpátky :-)
    23.3.2007 09:35 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: príliš skorá expanzia príkazu
    Myslím, že bude výrazně přehlednější, když na cílový stroj nakopíruješ skript, který se má spustit. Kdyby se navíc dalo zbavit toho "StrictHostKeyChecking=no", mohlo by se psát jen
    ssh host02 ssh host01 skript
    
    A co se týče toho skriptu, napsal bych ho takhle:
    #!/usr/bin/env python
    
    from subprocess import *
    command = ['/usr/sbin/ntpq', '-p']
    process = Popen(command, stdout = PIPE, stderr = STDOUT)
    
    #precti vsechny radky
    for line in process.stdout:
        pass
    #na konci cyklu bude v promenne line posledni radek
    
    if 'Connection refused' in line: #demon asi neni spusten
        raise SystemExit, 'ntpd is not running'
    
    #posledni radek rozsekej po mezerach
    splitted = line.split()
    
    #vyber treti polozku a preved ji na cislo
    status = int(splitted[2])
    
    #vypis status
    print 'status is %d' %status
    
    Není nutné předem testovat, zda démon běží. Dá se rovnou pustit "ntpq -p" a odchytávat hlášku "Connection refused".

    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.