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

    Multiplatformní open source spouštěč her Heroic Games Launcher byl vydán v nové stabilní verzi 2.17.0 Franky (Mastodon, 𝕏). Přehled novinek na GitHubu. Instalovat lze také z Flathubu.

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

    Organizace Apache Software Foundation (ASF) vydala verzi 26 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 14:55 | IT novinky

    Klávesnice IBM Enhanced Keyboard, známá také jako Model M, byla poprvé představena v roce 1985, tzn. před 40 lety, s počítači IBM 7531/7532 Industrial Computer a 3161/3163 ASCII Display Station. Výročí připomíná článek na zevrubném sběratelském webu Admiral Shark's Keyboards. Rozložení kláves IBM Enhanced Keyboard se stalo průmyslovým standardem.

    Fluttershy, yay! | Komentářů: 1
    dnes 12:00 | Nová verze

    Vyšlo Pharo 13 s vylepšenou podporou HiDPI či objektovým Transcriptem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.

    Pavel Křivánek | Komentářů: 1
    dnes 04:00 | IT novinky

    Java má dnes 30. narozeniny. Veřejnosti byla představena 23. května 1995.

    Ladislav Hagara | Komentářů: 6
    včera 21:55 | IT novinky

    1. července Mozilla vypne službu Fakespot pro detekci podvodných recenzí v internetových obchodech. Mozilla koupila Fakespot v květnu 2023.

    Ladislav Hagara | Komentářů: 1
    včera 21:33 | IT novinky

    8. července Mozilla vypne službu Pocket (Wikipedie) pro ukládání článků z webu na později. Do 8. října si uživatelé mohou vyexportovat data. Mozilla koupila Pocket v únoru 2017. Několik měsíců byl Pocket integrovanou součástí Firefoxu.

    Ladislav Hagara | Komentářů: 3
    včera 13:22 | Upozornění

    Turris OS má aktuálně problém s aktualizací související s ukončením podpory protokolu OCSP u certifikační autority Let's Encrypt.

    Ladislav Hagara | Komentářů: 4
    včera 04:00 | Zajímavý článek

    Nevidomý uživatel Linuxu v blogu upozornil na tristní stav přístupnosti na linuxovém desktopu (část první, druhá, závěr), přičemž stížnosti jsou podobné jako v roce 2022. Vyvolal bouřlivou odezvu. Následně např. Georges Stavracas shrnul situaci v GNOME. Debata o jiném aspektu přístupnosti, emulaci vstupu pod Waylandem, také proběhla na Redditu.

    Fluttershy, yay! | Komentářů: 8
    včera 03:00 | Komunita

    DevConf.CZ 2025, tj. open source komunitní konference sponzorovaná společností Red Hat, proběhne od 12. do 14. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (56%)
     (28%)
     (7%)
     (3%)
     (0%)
     (0%)
     (6%)
    Celkem 89 hlasů
     Komentářů: 6, poslední včera 14:43
    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: 205×
    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.