This course is for passionate developers that work with the Unix based operating systems. Usually a Software Engineer that know Bash work as TechOps Software Engineer and have a highly payed job. Bash language is not recommended for enterprise developers. If you want to become a regular application developer and not a system developer, we advice you to learn other language and let Bash for later.
Bash has a weird syntax that may be difficult to master. Bash is interpreted not compiled and has dynamic types. Bash is not a free form language. Space separators are important in Bash. Many times you get error messages that are not telling you where the spaces are missing so you have to guess. The reference doc lack examples. The tutorials you can find on the internet are full of juicy adds and click baits. It is now too late to improve this language. So we must learn it as it is and move on!
You can learn Bash fundamental features from our tutorial. If you are first time here, skip the index and read this page to the end. This tutorial is like a book. Do not skip pages and read all the articles slowly to learn all the concepts in the logical order. Read one page every day. When you finish, take the quiz. This is a tough language so let's get started.
On Linux and MacOS, you can run Bash scripts using the Terminal Window or Command Window. Also, the operating system can run Bash scripts at startup. These are maintained by the Administrator of a computer and they are used to start services or set-up the system environment.
On Windows 10, Bash can be run in native mode. In older version of Windows we use to have emulators of Bash that can still be used today. You must install WSL (Windows System 4 Linux) that is available as a Windows feature. If you enable this feature you can install bash from Windows App store. Also there are several other solutions to run shell scrits on Windows: mingw, cygwin, git-bash
We have create examples on github and on repl.it websites. You can visit these resources to investigate the code and understand better the language syntax. We appreciate any contribution to improve the code and the articles.
Our tutorial is work in progress and do not cover all bash syntax and features. Until we improve our tutorial to full strength, you can continue learning Bash from external references. These are the best references we have found searching the internet. No ads!
Next page: Syntax Overview