This is hands down the best Bash resource online or in print. Don't let the "advanced" throw you off. It's the source of pretty much everything (of significance) that I know about bash.<p>For other applications it makes sense to use your scripting language of choice (libraries, etc.) but in any situation where you need absolute portability or availability on an otherwise bare system, bash is the way to go.<p>There are whole projects like the Arch Linux Installation Framework (AIF) written in bash for this reason.<p>Named arrays, quick string handling and the [[ ]] test syntax alone make this worth reading, and that's just scratching the surface.
While bash is certainly more pleasant to write and use than the other shell languages, I made myself a rule I abide by, a long time ago. Never use shell to write anything non-trivial. Unless it's a one liner that just stitches some Unix commands together, just use a real language (Python, for example). I can't count how many times I found myself being grateful for this decision. Shell scripts just have a way of growing in size and complexity, and swallowing the shell pill is the quick road into abyss.
I recently found this site useful. I wrote a script that glued together some commands to be run by cron. Then the requirements grew and the script's complexity grew, and grew, and before long I learned that bash scripts support functions.<p>At this point, I wished I had started in python.<p>To answer maven911, I usually do LAMP stack development but pick up all kinds of technologies along the way.
Here's the short version of the Advanced Bash Scripting Guide: "Use Python".<p>Long bash scripts are less readable and maintainable than python scripts.
I'd really like this as an Epub, Pdf or something I can just stick on my iPad. Anyone know of a link for this... or am I going to have to do this for everyone? :]
ABS can be handy for some quick look up, but if you want to learn Bash then go with Greg's Bash Guide:<p><a href="http://mywiki.wooledge.org/BashGuide" rel="nofollow">http://mywiki.wooledge.org/BashGuide</a><p>Check also the list of Bash online tutorials:<p><a href="http://wiki.bash-hackers.org/scripting/tutoriallist" rel="nofollow">http://wiki.bash-hackers.org/scripting/tutoriallist</a>
hasn't this resource been around the block for 10+ years? I remember googling' "advanced bash scripting" function in college and finding a resource just like this one...