Sida 1 av 1

IpTables

Postat: 27 aug 2007, 21:12
av Dexxa
Hej, har fixat ett fint iptables-rules scipt.. men när jag kör det får jag olika sorters error. (scriptet kanske inte var så fint trots allt ;))

Tex.
[: 33: ==: unexpected operator (är den första errorn jag får, efter jag svarat på frågan.)
Den andra är
[: 40: ==: unexpected operator .
Och sen så blir det såna efter varje fråga men olika tal.. funderar på om det är vilken rad felet är men...

Här är scriptet Länk

någon som vet ?

SV: IpTables

Postat: 27 aug 2007, 21:31
av webaake
Inte för att jag är nån fena på iptables eller bash, men IPTABLES kommandona ser OK ut, och mig veterligen finns inte 'operator' i IPTABLES syntaxen.

Dock finns den i bash syntaxen och därför borde felet ligga där. Och då misstänker jag '-eq' som är till för att jämföra heltal (integers), men om du byter ut -eq mot == som du ju använt innan i scriptet så kanske felen slutar? (det är inte säkert att "1" betraktas som en integer utan som en sträng och då är det == som gäller) ((Ja, jag vet 1 ÄR ett heltal men är "1" det??))(((I bash alltså)))


Rapportera hur det går.

Eller kolla detta:
http://easyfwgen.morizot.net/gen/

Den körde jag utifrån och modiferade sedan.

SV: IpTables

Postat: 27 aug 2007, 21:35
av Konservburk
Dexxa_ skrev: [: 33: ==: unexpected operator (är den första errorn jag får, efter jag svarat på frågan.)
Du kan inte använda == i test under ash.
Antingen använder du bash istället, eller
så byter du ut dina == mot enkla =, t.ex:

Kod: Markera allt

[ "$input" = "y" ]
Eller ännu bättre, använd case istället för if:

Kod: Markera allt

echo -n "Allow ping (y/n)? [y] "
read input
case $input
in ''|[Yy]*) allow_icmp=1
esac

SV: IpTables

Postat: 27 aug 2007, 21:46
av webaake
Ahh, missade #!/bin/sh  Såg ju givetvis '#!/bin/bash' (fel).

I bash kör jag ==

Funkar bra där.

SV: IpTables

Postat: 28 aug 2007, 20:30
av Dexxa
Ah.. funkade fint nu, tack  :)