Blog 20 - Bash
What is Bash?
Bash is the GNU operating system's shell, or command language interpreter. The name is an abbreviation for 'Bourne-Again SHell,' a play on Stephen Bourne, the creator of the immediate progenitor of the present Unix shell sh, which first appeared in the Bell Labs Research version of Unix in the Seventh Edition. Bash is mainly compatible with sh and includes functionality from both the Korn shell ksh and the C shell csh. It's meant to be a compliant implementation of the IEEE POSIX Shell and Tools section of the specification (IEEE Standard 1003.1). It improves on sh in terms of functionality for both interactive and programmatic use.
Why do we use Bash?
People use Bash when they want to control their computer or OS without having to navigate menus, options, and windows within a GUI. As we pointed out earlier, with CLIs like Bash, you usually don't even need to use your mouse. You can navigate through your computer's OS without your fingers ever leaving your keyboard. Plus, because your computer doesn't have to spend resources to displaying graphical output, utilizing Bash instead of a GUI is less resource-intensive. When you're running numerous programs, a virtual machine, or otherwise have restricted computational resources, Bash becomes an appealing alternative. Bash also makes it much easy to automate operations on your computer. This is especially handy if your profession requires you to perform repeated tasks.
Bash Scripting
Bash's scriptability is one of the reasons it's so popular. You can list everything you can write into Bash in a plain-text file and have Bash run it for you. Rather of spending an afternoon manually executing a hundred commands, you may script them and have your computer do them while you focus on other tasks. Because almost everything on Linux runs on top of the Bash shell, Bash can be used to automate almost everything. While there are exceptions (graphical apps may have their own scripting language or no scripting at all), scripting your operating system allows you to perform tens of thousands of operations on your computer without having to do them yourself. Learning Bash, on the other hand, is all about figuring out how to enhance a basic command like this for the benefit of automation.