Bash (Bourne-Again SHell) is a Linux and Unix-like system shell or command language interpreter. It is a default shell on many operating systems including Linux and Apple MacOS X. Shell scripts are a fundamental part of the Unix programming environment. If you have always used a graphic user interface like KDE or Gnome or MS-Windows or Apple OS X, you are likely to find bash shell confusing. If you spend some time with the bash shell prompt and it will be difficult for you to go back.
Here are a list of tutorials and helpful resources to help you learn bash scripting and bash shell itself. You should read the following documents if you are interested in learning the basics of shell scripting.
1. BASH Programming – Introduction HOW-TO : This tutorials intends to help you to start programming basic-intermediate shell scripts. It does not intend to be an advanced document.
2. Advanced Bash-Scripting Guide : An in-depth exploration of the art of shell scripting. A must read to master bash shell scripting for all Unix users.
3. Learn Bash In Y Minutes : A quick tour of bash programming language.
4. BASH Frequently Asked Questions : Greg’s Wiki includes answers to many bash programming problems in Q & A format.
5. Linux Shell Scripting Tutorial : A beginners bash shell scripting handbook for new Linux users, sysadmins and school students studying Linux/Unix or computer science.
6. Bash Hackers Wiki : This wiki provide human-readable documentation and information for bash includes tons of examples.
7. Google’s Shell Style Guide : A thorough and general purpose understanding of bash programming by Google.
8. bash — Standard Shell : A thorough understanding of bash programming for Gentoo developers by Gentoo project.
10. Bash By Examples Part I, II, and III : Fundamental programming in the BASH where you will learn how to program in bash by example.
11. Bash Guide for Beginners : This is a practical guide which, while not always being too serious, tries to give real-life instead of theoretical examples.
12. Unix Shells: Bash vs Fish vs Ksh vs Tcsh vs Zsh : Great comparison cheat sheet for various Unix shells.
13. General coding style guide : This will help to make your code more readable.
14. Better bash scripting in 15 minutes : These tips and tricks will make you better at bash shell scripting.
15. Defensive bash programming : Learn how to defend your bash programs from breaking, and keep the code tidy and clean with these useful tips.
17. Learning the bash Shell: Unix Shell Programming (In a Nutshell (O’Reilly) : O’Reilly’s bestselling book on Linux’s bash shell is at it again.
18. Mastering Unix Shell Scripting: Bash, Bourne, and Korn Shell Scripting for Programmers, System Administrators, and UNIX Gurus : UNIX expert Randal K. Michael guides you through every detail of writing shell scripts to automate specific tasks. Each chapter begins with a typical, everyday UNIX challenge, then shows you how to take basic syntax and turn it into a shell scripting solution.
19. This guide aims to aid people interested in learning to work with BASH. It aspires to teach good practice techniques for using BASH, and writing simple scripts. A new version of this guide is currently being drafted.
Have a favorite online bash tutorial or new books? Let’s hear about it in the comments below.