    #******************************************************************
    #ident /etc/init.d/netenv Time-stamp: <97/07/04 11:13:44 bav>
    #******************************************************************
    #                           Gerd Bavendiek  bav@rw.sni.de  97-05-00
    #
    # This script is used to set up a file containing information about
    # the actual network environment. This can be esp. useful for a
    # laptop being used in multiple environment: at home, in the office,
    # at a customers site.
    #
    # This is done as follows: When "lilo" prompts, type e.g.
    # linux netoff=
    # This sets up an shell variable "netoff", containing nothing. The
    # kernel starts the init process with "netoff" as part of its
    # environment, so does init. So this script can check for
    # "netoff". Placing assignments in a file is a convenient way to
    # enable user processes to deal with multiple environments (login
    # provides user processes with a complete new environment, so they do
    # not longer know about "netoff").
    #
    # I took "netoff=" just for convenient typing. Of course you can use
    # something like "PROFILE=34" and scan for that ...
    #
    # Right now I use this mechanism for setting up my .fvwm95rc and my
    # printing environment. My .fvwm95rc is pre-compiled by means of the
    # variable "PROFILE". This way I can use one source for different
    # displays and so on.
    #
    # As is this script eventually tries to set up a plip connection by
    # executing /etc/init.d/plip. To be able to do so, it must be called
    # after "kerneld" is started ! (One example: S12kerneld, ...
    # S30netstd_misc, S40netenv, ....)
    #
    # Another hint regarding pcmcia:
    # My Debian GNU/Linux 1.2 used to set up the PCMCIA-Ethernet-Card in
    # /etc/pcmcia/network.opts. I changed this slightly by simply
    # . /tmp/netenv
    # This way the assignments in /tmp/netenv are passed to the calling
    # script. You HAVE to reorder the calling sequence of scripts in
    # /etc/rc2.d. Example:
    # S10sysklogd S12kerneld S15netstd_init S18netbase S19netenv S19pcmcia
    #
    # The profiles I defined are as follows:
    # 1x Tower Home, system name "nana", network plip only.
    # 2x Desktop Office, system name "zaza", Ethernet.
    # 3x Laptop, system name "lulu".
    # 30 at home, no Ethernet, eventually connected to tower via plip
    # 31 in the office
    # 32 at customer site 1
    # 33 at customer site 2
    #-------------------------------------------------------------------
    NETENV=/tmp/netenv	# When located in /tmp, script must be called
                            # AFTER wiping out /tmp has been done ...

    if [ `uname -n` = "nana" ]; then
       (
       echo "# Networkenvironment: Home Tower (Network-Interface: Plip)"
       echo "export PROFILE=10"
       ) > $NETENV
       /etc/init.d/plip start
    elif [ `uname -n` = "zaza" ]; then
       (
       echo "# Networkenvironment: Office Desktop (Network-Interface: Ethernet)"
       echo "export PROFILE=20"

       echo "export RLPR_PRINTHOST=printer-off"
       echo "export PRINTER=pr1"
       ) > $NETENV
    elif env | grep '^netoff=' > /dev/null; then
       (
       echo "# Networkenvironment: Laptop at office (Network-Interface: Ethernet)"
       echo "export PROFILE=31"
       echo "IPADDR=\"123.456.78.9\""
       echo "NETMASK=\"255.255.255.0\""
       echo "NETWORK=\"123.456.78.0\""
       echo "BROADCAST=\"123.456.78.255\""
       echo "GATEWAY=\"123.456.78.1\""
       echo "DOMAIN=\"rw.sni.de\""
       echo "DNS_1=\"123.456.78.9\""

       echo "export RLPR_PRINTHOST=printer-off"
       echo "export PRINTER=pr1"
       ) > $NETENV
    elif env | grep '^netetc=' > /dev/null; then
       (
       echo "# Networkenvironment: Laptop at customer site (Network-Interface: Ethernet)"
       echo "export PROFILE=32"
       echo "IPADDR=\"123.456.8.89\""
       echo "NETMASK=\"255.255.255.0\""
       echo "NETWORK=\"123.456.7.0\""
       echo "BROADCAST=\"123.456.7.255\""
       echo "GATEWAY=\"123.456.7.1\""

       echo "export RLPR_PRINTHOST=printer-etc"
       echo "export PRINTER=pr1"
       ) > $NETENV
    else
       if [ `uname -n` = "lulu" ]; then # just to double check
          # We are at home, let's start the plip-Interface
          (
          echo "# Networkenvironment: Laptop at home (Network-Interface: Plip)"
          echo "export PROFILE=30"
          ) > $NETENV
          /etc/init.d/plip start
       fi
    fi

    chmod 644 $NETENV

##### Copyright © 1997, Gerb Bavendiek
Published in Issue 20 of the Linux Gazette, August 1997