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

    Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 11:22 | Pozvánky

    Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.

    … více »
    Heřmi | Komentářů: 0
    dnes 03:44 | Nová verze

    Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.

    Fluttershy, yay! | Komentářů: 4
    včera 15:11 | IT novinky

    Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | Nasazení Linuxu

    Cathode Ray Dude v novém videu ukazuje autorádio Empeg Car (později Rio Car) z let 1999–2001. Šlo o jeden z prvních přehrávačů MP3 do auta. Běží na něm Linux. Vyrobeno bylo jen asi pět tisíc kusů, ale zůstala kolem nich živá komunita, viz např. web riocar.org.

    Fluttershy, yay! | Komentářů: 1
    včera 02:11 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.7.

    Ladislav Hagara | Komentářů: 0
    včera 01:44 | Nová verze

    Wayland byl vydán ve verzi 1.24.0. Jde o menší vydání po více než roce. Více funkcionality bývá přidáváno v průběžných vydáních Wayland Protocols.

    Fluttershy, yay! | Komentářů: 0
    6.7. 23:44 | Nová verze

    Textový editor Geany byl vydán ve verzi 2.1. Jde o udržovací vydání po bezmála dvou letech. Obsahuje drobná vylepšení vyhledávání, aktualizace podpory zvýrazňování syntaxe a dále převážně opravy chyb.

    Fluttershy, yay! | Komentářů: 1
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (27%)
     (7%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 370 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: (b)ash expanze promennych

    Gilhad avatar 6.11.2010 14:41 Gilhad | skóre: 20 | blog: gilhadoviny
    (b)ash expanze promennych
    Přečteno: 207×
    Asi neco ocividneho nevidim, ale uz se s tim nejakou chvili morim a nic hezkeho me nenapada. Potreboval bych neco na tento zpusob:
    
    masterbox=10.0.0.1
    masterbox_port=123
    slave1box=10.0.0.2
    slave1box_port=245
    slave2box=10.0.0.15
    slave2box_port=981
    
    for box in master slave1 slave2; do
      iptables -A FORWARD -d ${${box}box} -p tcp -m tcp --dport ${${box}box_port} -j ACCEPT -m comment --comment "$box:${${box}box_port}"
    done
    
    s vysledkem:
    
      iptables -A FORWARD -d 10.0.0.1 -p tcp -m tcp --dport 123 -j ACCEPT -m comment --comment "master:123"
      iptables -A FORWARD -d 10.0.0.2 -p tcp -m tcp --dport 245 -j ACCEPT -m comment --comment "slave1:245"
      iptables -A FORWARD -d 10.0.0.15 -p tcp -m tcp --dport 981 -j ACCEPT -m comment --comment "slave2:981"
    
    Vim, ze bych to mohle nejakym zpusobem pomoci echa poskladat a nasledne procpat shellem pipou, ale porad nejak verim, ze jde nejak primo zapsat, ze chci hodnotu promenne, jejiz jmeno ziskam takovymto slozenim

    Řešení dotazu:


    Odpovědi

    Gilhad avatar 6.11.2010 15:59 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: (b)ash expanze promennych
    Tak uz jsem nasel reseni:
    for box in master slave1 slave2; do
      iptables -A FORWARD -d $(eval echo "$"${box}box) -p tcp -m tcp --dport $(eval echo "$"${box}box_port) -j ACCEPT -m comment --comment "$box:$(eval echo '$'${box}box_port)"
      
    done
    
    

    pripadne pokud chci usetrit par volani shellu:

    for box in master slave1 slave2; do
    	ip=$(eval echo "$"${box}box)
    	port=$(eval echo "$"${box}box_port)
      iptables -A FORWARD -d $ip -p tcp -m tcp --dport $port -j ACCEPT -m comment --comment "$box:$port"
    done
    
    
    6.11.2010 16:30 deadmail
    Rozbalit Rozbalit vše Re: (b)ash expanze promennych
    da sa usetrit dalsia polovica volani eval:
    ip=$(eval echo "$"${box}box)
    port=${ip}_port
    
    Dokonca aj $(...):
    eval ip="\$${box}box"
    port="${ip}_port"
    
    6.11.2010 16:22 NN
    Rozbalit Rozbalit vše Re: (b)ash expanze promennych
    Jsem si hral:
    #!/bin/sh
    
    array=(10.0.0.1 135 master 10.0.0.2 136 slave2 10.0.0.3 137 slave3 10.0.0.4 138 slave4 10.0.0.5 139 master)
    
    for i in $(seq 0 3 9); do
    echo iptables -A FORWARD -d ${array[$i]} -p tcp -m tcp --dport ${array[$((i+1))]} -j ACCEPT -m comment --comment \"${array[$((i+2))]}:${array[$((i+1))]}\"
    done
    
    exit 0
    
    Akorat to ma vadu, ze musis vedet posledni sekvencni cislo(9)..

    NN
    6.11.2010 16:37 deadmail
    Rozbalit Rozbalit vše Re: (b)ash expanze promennych
    nemusim ;-), to sa da vypocitat
     echo $(((1+${#array})/3 ))
    
    6.11.2010 16:44 deadmail
    Rozbalit Rozbalit vše Re: (b)ash expanze promennych
    no trochu inac (posledny index bez troch):
     echo $((${#array[*]}-3))
    
    6.11.2010 16:39 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: (b)ash expanze promennych
    masterbox=10.0.0.1
    box=master
    b=${box}box
    echo ${!b}
    man bash: indirect expansion
    If you hold a Unix shell up to your ear, you can you hear the C.
    Gilhad avatar 6.11.2010 18:04 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: (b)ash expanze promennych
    Ja vedel, ze to musi jit nejak jednoduse :)
    6.11.2010 22:10 NN
    Rozbalit Rozbalit vše Re: (b)ash expanze promennych
    Pekne !

    NN

    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.