I just finished my second year as a university CS student, so my "real-world" knowledge is lacking.  I learned Java my first year, continued with Java and picked up C and simple Bash 
scripting my second.  This summer I'm trying to learn Perl (God help me).  I've dabbled with Python a bit in the past.
My question is, now that we have very readable, very writable scripting languages like Python, Ruby, Perl, etc, why does anyone write Bash scripts?  Is there something I'm missing?  I know my linux box has perl and python.  Are they not ubiquitous enough?  Is there really something
that's easier to do in Bash than in some other hll?
In my experience, Perl meets something like 99% of any need that might require a shell script.  As a bonus, it is possible to write code that runs on Windows sans Cygwin.  If I won't have a Perl install on a Windows box I want to target, I can use PAR::Packer or PerlApp to produce an executable.  Python, Ruby and others should work just as well, too.
However, shell scripting isn't all that complicated--at least things that you should be scripting in a shell aren't all that complicated. You can do what you need to do with a fairly shallow level of knowledge.
Learn how to read and set variables.  How to create and call functions.  How to source other files.  Learn how flow control works.
And most important, learn to read the shell man page.  This may sound facetious, but I am 100% serious--don't worry about cramming every detail of shell scripting into your brain, instead learn to find what you need to know in the man page quickly and efficiently. If you find yourself using shell scripting often, the pertinent info will naturally stick in your brain.
So, yes, basic shell is worth learning.
Is there any use for Bash scripting anymore?