[Cialug] Tasks for learning shell scripting

Josh More MoreJ at alliancetechnologies.net
Wed Sep 29 10:34:34 CDT 2010


But... python scares the crap out of me!  ;)

More seriously, Perl's biggest drawback is CPAN.  If you're a good developer AND a good admin, this isn't a serious problem, but if you are lacking on either side of that equation legacy issues can really start to pile up.

I don't know how Ruby and Python compare in that regard.  I suspect they might have similar issues, but if you are needing to step outside of the shell world, third party libraries are a major factor in choosing a new language.  IMO, a bigger one than syntax and learning curve.

-Josh More, CISSP, GIAC-GSLC, GIAC-GCIH, RHCE, NCLP
morej at alliancetechnologies.net<mailto:morej at alliancetechnologies.net>
515-245-7701
________________________________
From: cialug-bounces at cialug.org [cialug-bounces at cialug.org] on behalf of Kenneth Younger [kyounger at gmail.com]
Sent: Wednesday, September 29, 2010 10:28
To: Central Iowa Linux Users Group
Subject: Re: [Cialug] Tasks for learning shell scripting

Or if perl scares the crap out of you, python is a great system scripting language.

On Wed, Sep 29, 2010 at 10:23 AM, Don Ellis <don.ellis at gmail.com<mailto:don.ellis at gmail.com>> wrote:
And, on the other hand, many times in shell scripting, I find that
Perl is an easier tool to use. Often, when writing (or having written)
a slightly more complicated script, I wish I had written it in Perl
instead of bash/ksh.

[Back to shell] When writing in shell, consider the differences
between ksh and bash. I think I've heard that ksh has some constructs
that work better for scripting (can't remember them offhand), but bash
is easier for login. For the really basic scripting, bash or ksh can
be good enough, especially if you teach the more advanced tools, such
as functions and hashes. Once you get to this level, though, Perl
starts getting simpler very quickly.

Another thing, bash is often the default shell and ksh is an optional add-on.

For a root login, sh is often used for the login shell because it is
on a filesystem that is mounted first, and doesn't depend on later
boot stages. However, for some systems, bash is used for root login,
since it is also on an initial filesystem. If a script might be run
before other filesystems are mounted, be sure the shell it runs in is
present when it's needed.

--Don Ellis


On Wed, Sep 29, 2010 at 8:43 AM, Josh More
<MoreJ at alliancetechnologies.net<mailto:MoreJ at alliancetechnologies.net>> wrote:
> For one-on-one tutoring, toss them one of the books mentioned earlier in the thread and then work with them on ways to automate their personal workflow.  If they use Gnome, work with them to write nautilus scripts or custom session managers.  Work your way up to more complex things like custom startup scripts for specific "daemons" (like every time the machine turns on, launch an irc client as a screen session and connect it to the key channels).
>
> Let them drive the direction.
>
> Avoid the Posix focus.  Let them get the job done as quickly as possible and let them shoot themselves in the foot as quickly as possible.  The harder you make it to learn, the more resistant your mentee will be to learning.  This is why I maintain that Perl is the absolute best first language to learn.  In the shell world, this would be Bash.
>
>
> -Josh More, CISSP, GIAC-GSLC, GIAC-GCIH, RHCE, NCLP
> morej at alliancetechnologies.net<mailto:morej at alliancetechnologies.net>
> 515-245-7701
>
> ________________________________________
> From: cialug-bounces at cialug.org<mailto:cialug-bounces at cialug.org> [cialug-bounces at cialug.org<mailto:cialug-bounces at cialug.org>] on behalf of Matthew Nuzum [newz at bearfruit.org<mailto:newz at bearfruit.org>]
> Sent: Wednesday, September 29, 2010 08:35
> To: Central Iowa Linux Users Group
> Subject: Re: [Cialug] Tasks for learning shell scripting
>
> On Wed, Sep 29, 2010 at 7:55 AM, Josh More
> <MoreJ at alliancetechnologies.net<mailto:MoreJ at alliancetechnologies.net>> wrote:
>> Who is the curriculum for?
>>
>> Newbies in college, professionals transferring from Windows, employees at Canonical?
>>
>
> I know someone who wants to learn about scripting. An experienced
> computer user with Windows and Linux but just wants to go in a little
> deeper.
>
> My original intention was to teach using a posix only shell because
> I've gotten myself into trouble when not using a modern Linux
> distribution (Solaris). Also, Debian based distros have stopped using
> bash as /bin/sh because it significantly slows down boot speed,
> instead they use dash, a posix shell that loads much quicker. (but
> they use bash for the interactive shell still)
>
> Do you agree that my reasoning for using a posix shell is wise or is
> it really negligible and I should take the easy road of bash? And on
> the heals of that, if someone uses standard posix methods that skill
> works perfectly in bash, right?
>
>
> --
> Matthew Nuzum
> newz2000 on freenode, skype, linkedin, identi.ca<http://identi.ca> and twitter
>
> "An investment in knowledge pays the best interest." -Benjamin Franklin
_______________________________________________
Cialug mailing list
Cialug at cialug.org<mailto:Cialug at cialug.org>
http://cialug.org/mailman/listinfo/cialug



--
Kenneth Younger III
Founder, Sheer Focus Inc.
Organizer, WordCamp Iowa
e: kenny at sheerfocus.com<mailto:kenny at sheerfocus.com>
p: (515) 367-0001
t: @kenny<http://twitter.com/kenny>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cialug.org/pipermail/cialug/attachments/20100929/7ca316f4/attachment-0001.htm 


More information about the Cialug mailing list