Mailinglist Archive: opensuse (1503 mails)

< Previous Next >
Re: [opensuse] Boot Script
Hi Manfred,

I have script was run on Redhat 9 (I put in /etc/rc.d/rc.local)

----snip---

EXT_IP="/sbin/ifconfig eth0 | grep inet | cut -d : -f 2 | cut -d \ -f 1"
INT_IP="/sbin/ifconfig eth1 | grep inet | cut -d : -f 2 | cut -d \ -f 1"
INTRANET="192.168.1.0/24"
iptables -A FORWARD -s $INTRANET -d ! $INT_IP -p tcp --dport 25 -j DROP

---snip---

But it is unable to run on SuSE 11.1 (I put in /etc/rc.d/boot.local)

Seems SuSE did not recognize the command EXT_IP="/sbin/ifconfig eth0 |
grep
inet | cut -d : -f 2 | cut -d \ -f 1"

Thanks a lot for your helps and advises.

I'm sure your script didn't do what you expected it to do on Red Hat
either. The line

EXT_IP="/sbin/ifconfig eth0 | grep inet | cut -d : -f 2 | cut -d \ -f 1"

Before those lines, I had EXT_IP=`/sbin/ifconfig eth0 | grep inet | cut -d
: -f 2 | cut -d \ -f 1` , but not work

it's perhaps that current versions of ifconfig now also print out the
IPv6 address, which results in a trailing newline in your command. If
your actually only interested in the IPv4 address, you should use the
following command:

EXT_IP="`/sbin/ifconfig eth0 | sed -n -e 's,.*inet addr:[ ]*\([^ ]*\) .*$,\1,p'`"

If you want the IPv6 address, use this:

EXT_IP="`/sbin/ifconfig eth0 | sed -n -e 's,.*inet6 addr:[ ]*\([^ ]*\) .*$,\1,p'`"

just assigns the text literally to the variable $EXT_IP. If you actually
want to get the output of the command, you'd have to put `...` around
the command as in:

EXT_IP="`/sbin/ifconfig eth0 | grep inet | cut -d : -f 2 | cut -d \ -f
1`"

The same is true for the INT_IP line.

I just tried the line above but also could not work as expected.

If the above still doesn't work for you, you should describe what you
expect.

I have want the script will automatically read the IP of each NIC. Then the value (IP addr) will be given to other lines of scripts.

Here the result of my simulation:

Server:~ # /sbin/ifconfig eth1 | grep inet | cut -d : -f 2 | cut -d \ -f 1
192.168.1.1

(By using sample you gave, there was no IP addr output.)

But I don't know why the line EXT_IP=`/sbin/ifconfig eth0 | grep inet | cut -d : -f 2 | cut -d \ -f 1` was not functioning in SuSE.

Does the line #! /bin/sh cause the issue? In RH9 it was #! /bin/bash.

Thanks

Wong



--
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups