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: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ářů: 0
    včera 14:44 | IT novinky

    Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.

    Ladislav Hagara | Komentářů: 0
    22.3. 21:55 | Nová verze

    Byla vydána verze 11.0 s kódovým jménem Aramo linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 22.04 LTS a podporována bude do roku 2027. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

    Ladislav Hagara | Komentářů: 0
    22.3. 16:55 | IT novinky

    Mozilla založila startup Mozilla.ai a vložila do něj 30 milionů dolarů. Cílem je vývoj důvěryhodné, nezávislé a open source AI.

    Ladislav Hagara | Komentářů: 2
    22.3. 16:33 | Nová verze

    Po půl roce vývoje od vydání verze 43 bylo vydáno GNOME 44 s kódovým názvem Kuala Lumpur. Přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Krátké představení na YouTube.

    Ladislav Hagara | Komentářů: 22
    22.3. 13:33 | IT novinky

    Letošní Turingovou cenu (2022 ACM A.M. Turing Award) získal Bob Metcalfe za vynalezení, standardizaci a komercializaci Ethernetu.

    Ladislav Hagara | Komentářů: 0
    22.3. 07:00 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána ve verzi 5.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu.

    Ladislav Hagara | Komentářů: 0
    21.3. 18:22 | Nová verze

    Byla vydána Java 20 / JDK 20. Nových vlastností (JEP - JDK Enhancement Proposal) je 7. Nová Java / JDK vychází každých 6 měsíců. LTS verze je 17.

    Ladislav Hagara | Komentářů: 7
    21.3. 16:44 | IT novinky

    Google spustil konverzační AI Bard. Vyzkoušet lze zatím pouze ve Spojených státech a Spojeném království. Více v Bard FAQ.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 301 hlasů
     Komentářů: 3, poslední včera 12:45
    Rozcestník


    Dotaz: cyklus s vyuzitim predane promenne v dalsim dotazu - nejde

    31.5.2006 14:39 Palo
    cyklus s vyuzitim predane promenne v dalsim dotazu - nejde
    Přečteno: 103×
    Zdravim, zacinam se teprve trochu seznamovat s shellem a programovanim vubec, takze vam mozna muj dotaz bude pripadat asi stupidne. V kazdem pripade jsem stravil nekolik hodin s mnoha ruznymi zpusoby jak danou vec poresit a marne. Rovnez jsem par hodin procital diskuze, ale nikde jsem nenarazil na neco podobneho, takze syntax a zpusob zapisu mi je porad neznamy. Hodim sem jednu ze svych neuspesnych verzi a pokusim se popsat, co by to melo delat. Prosim o jakekoliv nakopnuti, fakt si nevim rady a kdyz mi ukazete/priblizite jak se takove veci resi, urcite uz s necim takovym prudit nebudu. Diky
    #!/bin/bash 
    set $(netstat | grep -m 14 tcp | awk '{print $4, $5}' | cut -f 2 -d: | cut -f 2 -d' ')
    while :
    do
     echo "$(tcpdump -i ra0 |grep $1)"
      shift || break 
    done
    exit 0
    
    takze pomoci set predam vysledky dotazu v zavorkach. TO mi vrati aktualni seznam navazanych spojeni na protokolu TCP... problem je v tom, ze nazvy jsou zkracene, takze v pripade delsiho domenoveho nazvu vlastne neni videt, s kym je spojeni navazano. Proto chci ony neuplne nazvy pouzit v dotazu "tcpdump -i ra0" kde pomoci grep a predane promenne ze set, ziskam uplne domenove nazvy z prave aktivnich spojeni. Kdyz jsem zkousel toto ( viz nize ), promenne predane ze set se zobrazily, ale uvnitr cyklu uz nejsem schopen ony predane promenne pouzit v dalsim dotazu. Rekl bych, ze podobne pripady jsou caste a s nakopnutim/vysvetlenim uz urcite pochopim, jak podobne pripady resit.
    #!/bin/bash
    set $(netstat | grep -m 14 tcp | awk '{print $4, $5}' | cut -f 2 -d: | cut -f 2 -d' ')
    while :
    do 
      echo $1
      shift || break 
    done
    exit 0
    
    Tohle mi pri volani echo $1 zobrazi vypisy z retezce netstat...takze snad jsem na spravne ceste, ale promennou uz v dalsim dotazu ( v prikazu tcpdump.. )opravdu pozit nemohu. Dekuji moc za pomoc a nakopnuti - polopate prosim. P.

    Odpovědi

    31.5.2006 15:05 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: cyklus s vyuzitim predane promenne v dalsim dotazu - nejde
    Problem je v tom tcpdump - ten posloucha, dokud ho nekdo/neco neukonci> dokud nepujde pres ra0 nejaky paket obsahujici ono domenove jmeno, nic neukaze. Tudiz IMHO tudy cesta nevede. Co treba zkusit pridat netsatu parametr -n a prekladat ip na jmeno pomoci host? Mozna to jde jeste jesdnoduseji, zkus man netstat.
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    31.5.2006 15:16 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: cyklus s vyuzitim predane promenne v dalsim dotazu - nejde
    Použij cyklus for
    for foo in $(kolona); do
      nejaky kod vyuzivajici $foo
    done
    
    Místo netstat | grep -m 14 tcp můžeš použít netstat -t.

    A nakonec zkus napsat netstat -tW, příště doporučuji man netstat.
    When your hammer is C++, everything begins to look like a thumb.
    31.5.2006 15:51 Palo
    Rozbalit Rozbalit vše Re: cyklus s vyuzitim predane promenne v dalsim dotazu - nejde
    Diky moc vsem za nakopnuti... nevedel/nebyl jsem si vubec jisty, jak vyuzivat promenne ziskane nejakym dotazem - ted uz vim, ze se to dela pomoci konstrukce "for" - do budoucna uz s necim takovym prudit nebudu ( pro me velmi cenna informace a navod ). S tim dotazem za pomoci tcpdump jsem chtel samo pouzit ve tvaru
    echo "$(tcpdump -i ra0 |grep $1 | head -1)"
    aby mi to vratilo jen jednu hodnotu. Idealni zpusob a plne dostacujici je pro me netstat -n... ip adresy uz myslim netreba dale prekladat na domenove nazvy za pomoci nslookup - usetrim tim systemove prostredky. Slo mi o to, ze neuplny domenovy nazev jak jsem to resil ja predtim, mi samozrejme byl na nic. Hlavne, ze uz taky vim, jak na vyuziti tech promennych dale ve skriptech ( pomoci for ). Vsem moc dekuji a preji pekny den! :-) P.
    31.5.2006 17:11 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: cyklus s vyuzitim predane promenne v dalsim dotazu - nejde
    Myslím, že si nerozumime. Ta původní myšlenka na procházení paramtrů není sice dokonalá, ale v pricipu je správná. Aneb:
    set $(prikaz)
    while shift
    do
    prikaz $1
    done
    je korketni - jen bych ten shift přesunul hned za while. Když už není kam posouvat vrátí false a smyčka skončí, tak proč to dělat přes break. Funguje to podobně dost podobně jako ten for.
    Chyba byla v tom, že tcpdump se nechová tak, že by vysypal seznam paketů, ale prostě poslouchá. Jinými slovy se to zasekne př jeho prvním zavolání a dál skript nic nedělá. Paramter $1 se předá správně jako echu. For to v tomhle případě nevyřeší. Není to problém předávání proměnných.
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    31.5.2006 17:15 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: cyklus s vyuzitim predane promenne v dalsim dotazu - nejde
    netstat -tW
    If you hold a Unix shell up to your ear, you can you hear the C.

    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.