[CentOS] Scripting question

Thu May 10 18:46:52 UTC 2007
Frank M. Ramaekers <FRamaekers at ailife.com>


Frank M. Ramaekers Jr.
Systems Programmer; MCP, MCP+I, MCSE & RHCE
American Income Life Insurance Company 
Phone: (254) 761-6649     Fax: (254) 741-5777
-----Original Message-----
From: centos-bounces at centos.org [mailto:centos-bounces at centos.org] On
Behalf Of Garrick Staples
Sent: Wednesday, May 09, 2007 3:38 PM
To: CentOS mailing list
Subject: Re: [CentOS] Scripting question

On Wed, May 09, 2007 at 03:28:53PM -0500, Frank M. Ramaekers alleged:
> >The first line in your function is only logging its first argument,
not
> >all arguments; and since you pass $line unquoted, the first word is
the
> >first argument.
> >
> >You could either quote $line: ``LogIt "$line"'', or use all arguments
> in
> >LogIt: ``Msg="$@"''.
> >
> >-- 
> >Garrick Staples, GNU/Linux HPCC SysAdmin
> >University of Southern California
> >
> >09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
> 
> That makes sense now...I didn't realize the difference...thanks!

So now that that makes sense to you, let me say that you should use both
solutions :)

Quoting $line ensures that special meta-characters aren't expanded.  For
example, if $line contained a *, then the shell could expand it with
files in the current directory.

And using $@ instead of $1 in LogIt is just more flexible and is closer
to your actual intention of "log everything I pass on this line."

-- 
Garrick Staples, GNU/Linux HPCC SysAdmin
University of Southern California

09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
---
Thanks, that helps explain it...and I did incorporate both!


Frank M. Ramaekers Jr.
Systems Programmer; MCP, MCP+I, MCSE & RHCE
American Income Life Insurance Company 
Phone: (254) 761-6649     Fax: (254) 741-5777