<story><title>Bash Shell Scripting in 10 seconds</title><url>http://www.aboutlinux.info/2005/10/10-seconds-guide-to-bash-shell.html</url></story><parent_chain></parent_chain><comment><author>nescafe</author><text>Linked article is actually a really horrible intro to bash -- at best, it is an OK intro to pre-POSIX bourne shell scripting.&lt;p&gt;Specifically:&lt;p&gt;* test and [ ] are fraught with parameter expansion peril.  Use [[ ]] instead.&lt;p&gt;* The author uses single quotes around strings that are demonstrating parameter expansion.  Single quotes inhibit parameter expansion, so every one of those examples is wrong.&lt;p&gt;* select is a better tool than read; case for most of his case-relasted demos.&lt;p&gt;* Backticks ( ` ` ) are the devil.&lt;p&gt;At least he points people greg&apos;s wiki at the end.</text></comment>
<story><title>Bash Shell Scripting in 10 seconds</title><url>http://www.aboutlinux.info/2005/10/10-seconds-guide-to-bash-shell.html</url></story><parent_chain></parent_chain><comment><author>babarock</author><text>Small nitpick:&lt;p&gt;for file in &lt;i&gt;.java; do javac $file; done&lt;p&gt;This will break if the filename contains funky characters like newline or whitespaces. You should prefer using find instead:&lt;p&gt;find . -name &apos;&lt;/i&gt;.java&apos; -exec javac {} \+&lt;p&gt;Also, I would suggest adding a pragaraph about proper quoting, I usually find it to be an issue beginners struggle with the most.</text></comment>