Portál AbcLinuxu, 14. července 2025 13:48


Dotaz: 2 promenne v cyklu for

23.4.2005 20:33 Karel Borkovec | skóre: 28 | blog: HP_NX9010 | Tábor
2 promenne v cyklu for
Přečteno: 135×
Odpovědět | Admin
Dobry vecer. Snazim se udelat svuj prvni bash skript pro ulehceni prace a lepsi prehlednost.
MAC="1 2 3 4 5"
IP="5 4 3 2 1"

for x in ${MAC};
    do
iptables -A blokuj -m mac --mac-source ${x} -s ${IP} -i eth1 -j ACCEPT"
    done
Takhle to samozrejme nefunguje. Zkousel sem uz toho hodne, ale nic nevedlo k cili. Porad se mi nedari zajistit, aby se v cyklu provadely obe promenne. Takhle to nepujde, to je mi jasne. Mohl by mi nekdo poradit? Dekuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

wake avatar 23.4.2005 20:41 wake | skóre: 30 | blog: wake | Praha
Rozbalit Rozbalit vše Re: 2 promenne v cyklu for
Odpovědět | | Sbalit | Link | Blokovat | Admin
#!/bin/bash
while read MAC IP; do
iptables -A blokuj -m mac --mac-source ${MAC} -s ${IP} -i eth1 -j ACCEPT
done <<EOF
MAC1 IP1
MAC2 IP2
MAC3 IP3
.
.
.
EOF
a jinak - man bash, /<<[ENTER] ;-)
Tento příspěvek má hlavičku i patičku!
23.4.2005 20:50 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: 2 promenne v cyklu for
Tohle je samzořejmě lepší řešení původního problému (než moje), protože zde není důvod, proč by to mělo být v samostatných polích. Ostatně by to mohlo vypadat i
list=(MAC=IP MAC=IP MAC=IP ...)
a parsovat položky mac=${prvek%=*}, ip=${prvek#*=}.
wake avatar 23.4.2005 20:56 wake | skóre: 30 | blog: wake | Praha
Rozbalit Rozbalit vše Re: 2 promenne v cyklu for
kristova noho, a tohle bash umi ? no tak z toho jsem celej %. asi bych si mel pred spanim precis man bash... ;-)
Tento příspěvek má hlavičku i patičku!
23.4.2005 20:42 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: 2 promenne v cyklu for
Odpovědět | | Sbalit | Link | Blokovat | Admin
mac=(1 2 3 4 5)
ip=(5 4 3 2 1)
for ((i=0; i<${#mac[*]}; i++)); do echo ${ip[i]} ${mac[i]}; done
Detaily viz v bash(1), sekce Arrays, a v seriálu o bashi, který tu vyšel.
23.4.2005 20:48 Karel Borkovec | skóre: 28 | blog: HP_NX9010 | Tábor
Rozbalit Rozbalit vše Re: 2 promenne v cyklu for
Moc dekuji za tak rychle reakce. Budu poctive studovat man bash. :o)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.