bash
The Bash shell, short for "Bourne Again SHell," is a command-line interface (CLI) and scripting language used primarily on Unix and Unix-like operating systems, including Linux and macOS. It's an enhanced replacement for the original Bourne shell (/bin/sh
), written by Steve Bourne for Unix. Bash was created by Brian Fox in 1989 and has since become one of the most widespread and popular command-line interpreters.
Here are the key aspects of the Bash shell:
Command-Line Interface: Bash provides a text-based interface where users can type commands to perform operations like file manipulation, program execution, and system management. It displays a prompt, waiting for user input.
Scripting Language: Bash is not just for interactive use; it also serves as a scripting language. Users can write Bash scripts, which are essentially programs that can automate tasks, manipulate files, and execute complex workflows.
Features: Bash includes many features that enhance user productivity and scripting capabilities, including:
Command history: Keeps a record of previously entered commands.
Command completion: Auto-completes commands and filenames with the Tab key.
Command editing: Provides text editing capabilities while typing commands.
Job control: Manages multiple processes (jobs) running in the background or foreground.
Aliases: Allows creating shortcuts for long commands.
Environment Variables: Bash uses environment variables, which are dynamic-named values that affect how running processes behave. For example, the
PATH
variable tells Bash where to look for executable files.Pipes and Redirection: Bash supports piping (
|
) and redirection (>
,<
,>>
, etc.), allowing users to send the output of one command as input to another command or to a file.Programming Constructs: Bash includes programming constructs like loops (
for
,while
), conditional statements (if
,case
), and functions, allowing the creation of complex scripts.Expansion and Globbing: Bash can expand variables, perform arithmetic operations, and match filenames using patterns (known as globbing).
Portability and Compatibility: Being POSIX-compliant, Bash scripts can often be run on any Unix-like operating system with little to no modification.
Last updated