[sf-lug] Learning Bourne Scripting
Mike Higashi
mhigashi at gmail.com
Fri Jun 24 17:55:08 PDT 2011
On Thu, Jun 23, 2011 at 3:31 PM, Rick Moen <rick at linuxmafia.com> wrote:
>
> Maybe there's not a single bash tutorial that's best for everyone.
bash is pretty powerful. There were times in the past when I was
asked if something could be done with bash, and I said no, only to
find out much later that I was wrong.
You don't really know if bash is capable of something until you get
an itch to scratch, and really look deeply into whether bash can cure
that itch. For a tutorial, everybody who has a specific interest will
want to learn different things, so once you get past the bare beginnings
their needs will diverge.
There are some things that ought to be taught to all beginners, in
the area of good scripting practices, sanity checks, and like. Does
the script test to see if a directory exists before it tries to copy a file
into it? Did the copy succeed, or fail? To err is human, but to really
screw things up takes a computer (or this case, a poorly written script
that blindly executes without testing if it's doing the right thing.)
BTW, some stupid bash tricks that I've done:
* mass rename of a large number of improperly named files,
for example from foo1.bar to foo1.baz (this can be done in a
single command, not a loop, if you know how to use bash's
substring syntax)
* when copying a large number of files into a directory, read the last
character of the filename and copy into a subdirectory based on
that letter (to prevent filesystem slowdown from too many entries
in one directory)
* the same as above, but go two letters deep instead of
just one
* perform a pseudo-random copy of graphics files into some
new user account webpages
...and more stuff like that.
Mike
More information about the sf-lug
mailing list