home bbs files messages ]

Just a sample of the Echomail archive

Cooperative anarchy at its finest, still active today. Darkrealms is the Zone 1 Hub.

   TUXPOWER      Advocacy for the Linux operating system      1,237 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 334 of 1,237   
   Tony Langdon to Wilfred van Velzen   
   Re: Favs   
   24 May 16 09:20:00   
   
   -=> Wilfred van Velzen wrote to Ben Ritchey <=-   
      
    WvV> This is a usefull script.   
      
    WvV> You should have asked for usefull scripts instead of the one and only   
    WvV> most favorite script. ;)   
      
   I have a number of useful little scripts.  Some actually look at the current   
   working directory, look for specific configuration files, parse them and   
   configure themselves accordingly (by setting key environment variables), before   
   doing their thing.  These are used for things like managing the multichannel   
   IRLP reflector that I have, where paths and ports vary, depending on what   
   channel I'm working with (which can be derived from the current working   
   directory).   
      
   Here's an example of one of those utility scripts.   
      
   -------------------------------------------------------------------   
   #!/bin/bash   
      
   CONFIG=`cat echo_config`   
   CONF=$CONFIG.conf   
   CMD="$CONFIG"cmd   
   if [ -f ./$CONF ]; then   
     CMDPORT=`cat $CONF | grep ^CmdPort | cut -d ' ' -f3`   
     echo "running $CMD on port $CMDPORT"   
     $CMD -p$CMDPORT "$@"   
   else   
     echo "tbd or tlb config file not found.  Channel not running tlb or tbd, or   
   no                                                                                
                         t in a channel directory."   
   fi   
   -------------------------------------------------------------------   
      
   Now the key to this is the contents of the file echo_config, which can contain   
   either   
      
   tbd   
      
   or   
      
   tlb   
      
   This tells the system what software is running on a particular channel (and   
   will allow you to fill in the variables for different cases). :)  This script   
   is not a key system script, it's only used for my convenience, so its error   
   checking is not as strict as I would normally use.  The scripts in the system   
   check the contents of echo_config for valid values, etc.   
      
   And here's one that auto configures the environment that each channel runs   
   under.  This one does have a lot more error checking.   
      
   [reflect@dedicated06 ~]$ cat $SCRIPT/echo_env   
   #!/bin/bash   
      
   if [ `/usr/bin/whoami` != "reflect" ] ; then   
     echo This program must be run as user REFLECT!   
     exit 1   
   fi   
      
   . /home/reflect/custom/environment   
      
   if [ "$PWD" = "$SCRIPT" ] ; then   
     echo This script is meant to be run from the "channel" directories   
     echo Running it here will cause problems. Exiting.   
     exit 1   
   fi   
      
   # Initialise configuration check   
   CONF_VALID=NO   
      
   # Move up one level to channel directory   
   #cd ..   
      
   # Determines which channel we are talking about here by cutting the PWD   
      
   CURRENT_CHANNEL=`echo $PWD | cut -d"/" -f5`   
      
   if [ -z $CURRENT_CHANNEL ] ; then   
     echo Current channel could not be determined. Exiting....   
     exit 2   
   fi   
      
   # Location of dropecho script   
   export CH_SCRIPT=$CHANNELDIR/$CURRENT_CHANNEL/scripts   
      
   # Location of exception list   
   export CH_CUSTOM=$CHANNELDIR/$CURRENT_CHANNEL   
      
   # Location of enable/disable flag file.   
   export FLAGPATH=$CHANNELDIR/$CURRENT_CHANNEL   
      
   # Determine whether using tbd or tlb   
   export PROG=`cat $CHANNELDIR/$CURRENT_CHANNEL/echo_config`   
      
   # location of tbdcmd and tbd.conf   
   if [ "$PROG" = "tbd" ]; then   
     export TBDCMD=/usr/local/bin/tbdcmd   
     CONF_VALID=YES   
   elif [ "$PROG" = "tlb" ]; then   
     export TBDCMD=/usr/local/bin/tlbcmd   
     CONF_VALID=YES   
   else   
     # echo "Unable to identify software in use, forcing use of sfreflect"   
     export PROG=""   
     CONF_VALID=NO   
   fi   
      
   # Binary in use   
      
   # Check to see if relevant config file actually exists!   
   if [ "$CONF_VALID" = "YES" ]; then   
     export TBDCONF="$CHANNELDIR/$CURRENT_CHANNEL/$PROG".conf   
      
     # Port to send commands to - Obtain correct port from config file.   
     if [ -f "$TBDCONF" ]; then   
       CONF_VALID=YES   
       export PORT=`cat $TBDCONF | grep ^CmdPort | cut -d' ' -f3`   
       # Now check that the port is a valid numeric (in decimal) value.   
       PORTCHECK=`echo $PORT | grep [[:alpha:]]`   
       if [ $PORT = "" ]; then   
         echo Invalid port value   
         CONF_VALID=NO   
       elif ! [ "$PORTCHECK" = "" ]; then   
         CONF_VALID=NO   
       fi   
     fi   
   fi   
   if [ "$CONF_VALID" = "YES" ]; then   
     CHATPORT=$PORT   
     let "CHATPORT  += 1"   
     export CHATPORT   
     export CHANNEL_ENV=YES   
     export APPNAME=`cat $TBDCONF | grep ^AppName | cut -d' ' -f3`   
     if [ "$APPNAME" = "" ]; then APPNAME=$PROG ; fi   
   else   
     export PROG=""   
   fi   
   -----------------------------------------------------------------------   
      
   And this one does use some bash extensions. :)   
   ... If little else, the brain is an educational toy.   
   --- MultiMail/Win32 v0.49   
    * Origin: Freeway BBS - freeway.apana.org.au (3:633/410)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca