Bash or Bourne-Again SHell is a command interpreter and a scripting language widely used as default across Linux-based operating systems. It provides a text interface to it’s users to execute commands. Beyond it’s access to the command-line interface, it has usual programming constructs such as loops, conditional statements, and functions.
The core competencies include error handling, asynchronous commands, ability to build a command line tool, and usage of /dev/null.
- Error Handling - Error handling using test or trap statements.
- Asynchronous Commands - Bash has the ability to asynchronously execute commands at a scheduled time or run them in the background [detached from the command line instance].
- Building a command-line tool - Ability to build command-line tools such as to parse or mine a text file or searching keywords in a file or preprocessing a text file, or calculating total video time in a directory of videos, etc.
- /dev/null - /dev/null is a file descriptor for a “null” virtual device on Linux. Anything written into the file is not stored. It’s commonly used to redirect any unwanted output of programs to be written into it.