one way to learn writing shell scripts is to write them
here is an example you can try it.
given a range of IP's, loop thru them, ping each ip, spool the results to output file for log and analyses. separate the alive ones from dead ones. for the dead ones, try them again later after sleeping for a while.
for the alive ones, do something more fancier, do a reverse lookup, do a whois on them. do a figure on them, etc.
start simple, and exand a bit by bit. think of different ways of doing the same thing. also, try the script/commands on different platforms. different ping gives different results for example. i guarantee you by the time you are done, you will learn quite a few tricks.
another thing you can try is to write a script to analyze web log. cut out each column and analyze them, sort them, etc, find out who is the top visitor, unique ip, which page is visited most, total bytes, etc.
personally, i found reading other people's scripts boring, unless i have to do it and get paid for it
good luck.