Script help
Tom Brown
tom at ng23.net
Tue Feb 12 15:37:48 UTC 2008
Jacques B. wrote:
> <snip>
>
>> ADDR=$(ifconfig | sed -e '/127.0.0.1/d' -n -e '/inet addr/p') # ADDR
>> will contain all the lines with "inet addr" except the loopback.
>> ADDR=${ADDR%% Bcast*} # output will contain "inet addr:192.168.0.1"
>> (or whatever your IP is of course)
>> ADDR=${ADDR##*.} # ADDR will contain the last octect in the IP, "1" in
>> the above scenario
>>
>> case $ADDR in
>> 11 ) echo "downloading bar";;
>> 12 ) echo "downloading foo";;
>> 13 ) echo "downloading whatever";;
>> * ) echo "Unknown network. Did not match any of the choices.";;
>> esac
>>
>> Note that the above works for a scenario where there is only one NIC
>> activated. I haven't tested it with multiple NICs.
>>
>> Jacques B.
>>
>>
>
> Further to that last message, I re-ran it without the 127.0.0.1
> portion of the sed command and it still worked. Reason being is that
> the result of the sed is saved to the variable as a single string (so
> the inet addr for eth0 followed by the inet addr line for the
> loopback). So when you do the pattern machine on the next line, only
> the very first NIC is retained. So the script is only suitable if you
> only have to worry about the first NIC. And like I said, the sed
> command could be as below and it will function the same.
> sed -n -e '/inet addr/p'
>
> If you need to deal with multiple NICs where you are interested in a
> NIC other than the first one listed, you'll have to script this
> differently.
>
> Jacques B.
>
>
thanks for the pointers all - this was being tested on a box that has
more than 1 NIC hence the reason for the cut.
I need to get the third octect of the NIC address and depending on what
that is a different automounter file is installed and if no network is
recognised then a default is downloaded. I hope that clears up what i am
trying to do and i will look at the options.
More information about the fedora-list
mailing list