plug-discuss@lists.plug.phoenix.az.us

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Shawn Badger
Date:  
To: plug-discuss
Subject: plug-discuss@lists.plug.phoenix.az.us
For the people who don't already receive this!!
Check out the "TECH TIP: #12 Building a Shell Script Library"
I didn't know about the ". SCRIPT.SH" would run a script as if you
typed it into the shell. Some thing new to me!!

-------- Forwarded Message --------
From: Linux Journal News Notes <>
To:
Subject: Linux Journal Weekly Newsletter - January 3
Date: Wed, 03 Jan 2007 04:32:00 -0600





                 Linux Journal Weekly News Notes -- January 3, 2007


                                     Sponsor:  Appro


A Better Way to Keep your Cool in the Data Center

   A Better Way to Keep your Cool in the Data Center Providing adequate cooling
   for data center equipment is increasingly critical for reducing downtime,
   extending equipment life and optimizing energy use. The combination of
    Appro's server solutions with Fluent's thermal analysis provides enterprise
   business customers with reliable and cost-effective high-performance IT
   infrastructure.   Learn More:
   http://www.appro.com/whitepaper/datacenter%20cooling_white%20paper.asp
 _________________________________________________________



Happy New Year, Everyone!

Welcome to the January 3rd, 2007, edition of Linux Journal Weekly News
Notes. Although we're gradually revving back up to business normalcy here,
our editors have been posting like mad over the last week. Give these guys
some free time and all they can do is think Linux! We're sure you'll enjoy
the links to great stories, musings and tech tips.

   We also hope that this newsletter finds you itching to send us your
   fascinating contributions, such as tech tips, hidden Linux sightings and
    cool dot-orgs that are making the Linux Community ever richer. Repeat after
   me: "My new year's resolution for 2007 is to contribute to Linux Journal
   very, very, very often!


We wish you only good things...and lots of Linux fun and success in 2007

James Gray and The Linux Journal Editorial Team



FEATURED LINKS

    The Ultimate Distro by Glyn Moody
   http://www.linuxjournal.com/node/1000150
    Glyn talks about the alpha release of Ulteo, a new distro from Gael Duval,
    the chap who created Mandrake in 1998. Ulteo is a self-upgrading,
   easy-to-use Linux distribution. Glyn's point is to show how dynamic the
   world of Linux distributions remains today.


    Can We Relate? by Doc Searls
   http://www.linuxjournal.com/node/1000153
   One of Doc's passions these days is enabling Vendor Relationship Management
   -- i.e. relating to vendors productively, on mutually agreeable terms rather
   than just paying them money for whatever they're selling -- and exciting
   things are happening. Here's a summary of the latest developments and Doc's
    work with Harvard's Berkman Center for Internet and Society.


    Formatting Cells in OpenOffice.org Calc by Bruce Byfield
   http://www.linuxjournal.com/node/1000154
    Bruce continues his pragmatic, useful series on OpenOffice.org, this time
   focusing on formatting your data.


    Ruby in 2006 -- A Retrospective Collection by Pat Eyler
   http://www.linuxjournal.com/node/1000155
   Pat has compiled a retrospective of Ruby retrospectives for 2006, making
   totally sure you miss nothing important from the past year.


   The Buzz About Aldrin by Dave Phillips
   http://www.linuxjournal.com/node/1000156
    For the past month, Dave has been playing with Leonard 'paniq' Ritter's
   "Aldrin", a music production system that combines a tracker-style
   composition interface with audio synthesis and processing modules called
   machines. Here's his report.


   Directory Services as the Foundation of Organizational Infrastructures by
    Tom Adelstein
   http://www.linuxjournal.com/node/1000157
    Tom muses about the role of LDAP as a foundation for enterprise-level
   infrastructures.


    Happy New Year - What's Ahead? by Tom Adelstein
   http://www.linuxjournal.com/node/1000158
   Here's another post by Tom. This time he's taking an end-of-year,
   start-of-year perspective, looking at where he's come from and where he
   wants to take himself in 2007. It's always fascinating to read each other's
   histories and dreams for new ideas and perspectives.



THE BRAIN TRUST: READERS SHARE THEIR EXPERTISE

Thanks to everyone for your forthcoming technical tips! Please send more of
them to share with our community of readers! My email is
. We'll send you a free t-shirt for your efforts.
Thanks!


FROM THE ARCHIVES

    LJ Interviews Linus Torvalds (1996) by Phil Hughes and Gena Shurtleff
   http://www.linuxjournal.com/article/0146
   This interview with the father of Linux, Linus Torvalds, occurred in 1996,
   just after Version 2.0 was released. This is the best kind of trip down
   memory lane for us Linux geeks, isn't it?



LINUX INCOGNITO: THERE'S LINUX INSIDE!

Our readers want to hear about your interesting experiences uncovering Linux
in an unexpected or innovative situation. Email them to me at
. If your contribution is selected for
publication, we'll send you a t-shirt!


DOT ORG OF THE WEEK

Do you know of an organization or person making a unique contribution to the
Linux community despite not getting paid for it? If so, we'd like to share
information about them with our readers. Send your recommendation, along
with why the organization/people are worthy of recognition, to
.


TECH TIP: #12 Building a Shell Script Library

This tip comes courtesy of Linux Journal columnist Dave Taylor and No Starch
Press. This is the 10th in a series of Tech Tips on shell scripting from
Dave where he explains the "how it works" factor behind the script.

Many of the scripts in this chapter have been written as functions rather
than as stand-alone scripts so that they can be easily and gracefully
incorporated into other scripts without incurring the overhead of making
system calls. While there's no #include feature in a shell script, as there
is in C, there is a tremendously important capability called sourcing a file
that serves the same purpose.

   To see why this is important, let's consider the alternative. If you invoke
   a shell script within a shell, by default that script is run within its own
    subshell. You can immediately prove this experimentally:


       $ cat tinyscript.sh
      test=2
      $ test=1
       $ tinyscript.sh
      $ echo $test
      1


   Because this script changed the value of the variable test within the
    subshell running the script, the value of the existing test variable in the
   current shell's environment was not affected. If you instead use the "."
   source notation to run the script, it is handled as though each command in
   the script was typed directly into the current shell:


       $ . tinyscript.sh
      $ echo $test
      2


As you might expect, if you have an exit 0 command within a script that's
sourced, for example, it will exit that shell and log out of that window.

The Code

To turn the functions in this chapter into a library for use in other
scripts, extract all the functions and concatenate them into one big file.
If we call this file library.sh , a test script that accesses all of the
functions might look like this:

      #!/bin/sh


      # Library test script


      . library.sh


       initializeANSI


       echon "First off, do you have echo in your path? (1=yes, 2=no) "
      read answer
       while ! validint $answer 1 2 ; do
       echon "${boldon}Try again${boldoff}. Do you have echo "
       echon "in your path? (1=yes, 2=no) "
      read answer
      done


       if ! checkForCmdInPath "echo" ; then
      echo "Nope, can't find the echo command."
      else
      echo "The echo command is in the PATH."
       fi


      echo ""
       echon "Enter a year you think might be a leap year: "
      read year


       while ! validint $year 1 9999 ; do
       echon "Please enter a year in the ${boldon}correct${boldoff} format: "
      read year
      done


       if isLeapYear $year ; then
       echo "${greenf}You're right!  $year was a leap year.${reset}"
      else
       echo "${redf}Nope, that's not a leap year.${reset}"
       fi


      exit 0


Notice that the library is incorporated, and all functions are read and
included in the run-time environment of the script, with the single line

      . library.sh


This is a useful approach in working with the many scripts in this book, and
one that can be exploited again and again as needed.

Running the Script

To run the test script given in the previous section, simply invoke it at
the command line.

The Results

      $ library-test
      First off, do you have echo in your path? (1=yes, 2=no) 1
      The echo command is in the PATH.
      Enter a year you think might be a leap year: 432423
      Your value is too big: largest acceptable value is 9999
      Please enter a year in the correct format: 432
      You're right!  432 was a leap year.


On your computer screen, the error messages just shown will be a bit more
blunt because their words will be in bold, and the correct guess of a leap
year will be displayed in green.

    Excerpted with permission from the book Wicked Cool Shell Scripts: 101
    Scripts for Linux, Mac OS X, and UNIX Systems by Dave Taylor.  Published by
    No Starch Press.  http://www.nostarch.com/wcss.htm.


    Dave Taylor is a long-time Unix and Linux geek and runs the popular
    http://www.AskDaveTaylor.com/ tech support blog.  His book Wicked Cool
    Shell Scripts can be found at: http://www.intuitive.com/wicked/ and the
    entire library of scripts at:
    http://www.intuitive.com/wicked/wicked-cool-shell-script-library.shtml.



FEATURED EVENTS

The Southern California Linux Expo (Feb 10-11, 2007)

"We are bringing businesses, academic institutions and the Linux community
together in a way that no other conference does!"
http://www.socallinuxexpo.org

    Join us February 14-15, 2007 for LinuxWorld OpenSolutions Summit


    A new conference from the producers of LinuxWorld. OpenSolutions Summit will
   feature two days of peer-to-peer case studies, technical training, and
   insightful keynotes that will provide best practices and the latest
   innovations across the enterprise.
   http://www.linuxworldsummit.com/


____________________________________________________

To remove yourself from this list, see http://www.ssc.com/mailing-lists.
____________________________________________________
---------------------------------------------------
PLUG-discuss mailing list -
To subscribe, unsubscribe, or to change you mail settings:
http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss