Richard K. Miller wrote:
I'm close to finishing a shell script to automatically enable the DMZ on my Linksys router no matter what IP address my computer has.

This returns the last octet of my local IP address, which happens to be a "5": ifconfig | grep netmask | grep -v 127.0.0.1 | awk {'print $2'} | sed 's/10.1.1.//'

This connects to the web interface of my Linksys router to turn on the DMZ: (notice the "5") curl -u admin:password -d "submit_button=DMZ&change_action=&action=Apply&dmz_enable=1&dmz_ipaddr=5 " -s http://10.1.1.1/apply.cgi

How do I connect the two commands?

Piece of cake. Use the backquotes to grab the first command's output:

LAST_OCTET=`ifconfig | grep netmask | grep -v 127.0.0.1 \
    | awk {'print $2'} |sed 's/10.1.1.//'`
curl -u admin:password -d \ "submit_button=DMZ&change_action=&action=Apply&dmz_enable=1&dmz_ipaddr=$LAST_OCTET"\ -s http://10.1.1.1/apply.cgi

Even so, this seems really hacky (in a bad way). For example, you can pass an interface name to ifconfig- call "ifconfig eth0" instead of greping out the localhost IP.

--
[EMAIL PROTECTED] is Doran L. Barton, president, Iodynamics LLC
Iodynamics: Linux solutions - Web development - Business connectivity
 "Have a happy new year -- or else you'll be sorry!"
    -- Seen with January on calendar for Japanese trading company

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to