This is a WIP (hence why there are drafts and todos). This is being done by the folks at <a href="http://mywiki.wooledge.org/BashGuide" rel="nofollow">http://mywiki.wooledge.org/BashGuide</a> which is definitely a valuable resource if you're trying to learn Bash and its idiosyncrasies.<p>Another good resource is <a href="http://wiki.bash-hackers.org/" rel="nofollow">http://wiki.bash-hackers.org/</a>.
The first few chapters look very good, best of luck with the rest!<p>In case anyone here is interested in more reading material, I recently wrote a small book about Bash that could be helpful: <a href="https://gumroad.com/l/datascience" rel="nofollow">https://gumroad.com/l/datascience</a><p>To make sure it didn't read like a manual, each chapter is an "adventure", where I show how to use only command line tools to answer questions such as: What's the average tip of a NYC cab driver? Is there a correlation between a country's GDP and life expectancy? etc
If you want feedback on the quality of your shells cripts, shellcheck is a great tool. You can run it locally or use <a href="http://www.shellcheck.net/" rel="nofollow">http://www.shellcheck.net/</a><p><a href="https://github.com/koalaman/shellcheck" rel="nofollow">https://github.com/koalaman/shellcheck</a>
This is an interesting project (I'm all for approachable learning) but it seems to be missing almost every chapter...maybe not ready for the spotlight?<p>Bash scripting and its array of tools is a poorly designed language. Writing a non-trivial program, even for an experienced developer, is a painful process. The syntax is uneven, hard to read, and easy to get horribly wrong. I would say mastering Bash has diminishing returns past the intermediary. Any time you need to write a non-trivial program, you will save time and life expectancy from stress management by using ANY other language, even Perl or C. Writing complex shell-modifying code in my .bashrc has been one of the more tedious and non-rewarding parts of my life.
This is much needed. We essentially have all this software we deal with daily and many people don't know basic things about it, not just bash or zsh... and that is funny, people install zsh because it's the thing to do, but you see that they don't know why.
It'd be cool to see some kind of interactive exercises like (Vim Interactive Guide) <a href="http://www.openvim.com/" rel="nofollow">http://www.openvim.com/</a> and (Git) <a href="https://try.github.io/" rel="nofollow">https://try.github.io/</a>
Thanks for making this! I wish I had a guide like this when I was starting out. Does anyone know if there is something like this for zsh? I'd imagine there would be a lot of similarities, but some notable differences.
Bash is incredibly useful, and I think more people should use it as a cross-platform default scripting language. That said, for the most compatible shell scripting, learn Bourne shell scripting. <a href="https://en.wikipedia.org/wiki/Bourne_shell" rel="nofollow">https://en.wikipedia.org/wiki/Bourne_shell</a>
If you are writing functions in Bash, your task is probably sufficiently complex that it would benefit from being written in a language other than Bash.
<a href="http://guide.bash.academy/03.variables.html#toc7" rel="nofollow">http://guide.bash.academy/03.variables.html#toc7</a> in this page those block-diagram looks nice, how is it made? some markdown enhancements like mermaid of plantUML?
In hopes that the creator does read this, it looks like a great resource but I can't read the text, my eyes are very strained and I got a headache very quickly.
Use rc instead. My life has gotten so much better since I gave up on other shells.<p><a href="http://tobold.org/article/rc" rel="nofollow">http://tobold.org/article/rc</a><p><a href="http://github.com/rakitzis/rc" rel="nofollow">http://github.com/rakitzis/rc</a>
Folks, it's most likely the case that the author behind bash.academy did not post the link to HN, so ease up on the flames.<p>I for one am enjoying reading through the informative guide.<p>Nice job on the author for deploying Prose.io for community editing of the guide.
Looking at the github page <a href="https://github.com/lhunath/bash.academy" rel="nofollow">https://github.com/lhunath/bash.academy</a> Its been there for 2 years. and last commit was 3 months back.