Dualo
Bash / Shell Scripting

What is Bash?

A command interpreter and scripting language — the glue of Unix systems. You type commands; it runs programs, pipes data, and automates tasks.

1 min read

Bash (Bourne Again SHell) is both a command interpreter — the program that runs when you open a terminal — and a scripting language you can use to automate tasks. You type a command, it finds the matching program, runs it, shows the output.

A shell is the layer between you and the operating system. It reads your input, expands variables and wildcards, launches processes, and connects their inputs and outputs. Bash is the most widespread one; others exist (zsh, fish, dash, ksh) with slightly different syntax.

Why learn it? Nearly every Linux server, CI pipeline, Docker image, and developer tool runs shell commands under the hood. Knowing Bash means you can glue tools together, write small automation, and understand what install scripts actually do.

Mental model: each command is a small program (ls, grep, curl…). Bash is the conductor that chains them. The Unix philosophy is 'do one thing well, then compose'. That composition happens in the shell.

Key distinction: interactive use (typing at a prompt) vs scripting (a .sh file with a sequence of commands). Both use the same language, but scripts benefit from extra discipline (error handling, quoting) that interactive use can skip.

Grounded on https://www.gnu.org/software/bash/manual/bash.html

Next up

Shell basics — navigation & files

The core commands you use every day: moving around the filesystem, listing, reading, copying, and inspecting files.