ফ্রি প্রিভিউ · শুরুর স্তর · 10 মিনিটের পাঠ
Shell, Bash & the Execution Model
Understand what a shell is, where Bash fits, how commands are parsed and executed, and why shell scripting matters for DevOps automation.
বাংলা অনুবাদ এখনো নেই, ইংরেজি দেখানো হচ্ছে।
A shell is a command interpreter that sits between the user or automation and the operating system. It accepts commands, performs expansions and redirections, launches programs, and reports exit status.
The source guide introduces several shells including sh, Bash, Zsh, Fish, Korn shell, Dash, PowerShell, and Ash. For this topic, we focus on Bash because it is widely available in Linux server, CI/CD, cloud, and DevOps environments.
Shell vs terminal vs kernel
These are related but different:
| Component | Responsibility |
|---|---|
| Terminal | Interface where you type and view output |
| Shell | Parses commands and launches programs |
| Kernel | Manages processes, memory, filesystems, networking, and devices |
| Command/program | User-space executable such as grep, curl, or kubectl |
Engineer / Pipeline
↓
Terminal or automation runner
↓
Bash
↓
Commands + system calls
↓
Linux kernel
Interactive shell vs script
An interactive shell waits for commands. A script stores a sequence of shell commands in a file so the same automation can be executed repeatedly.
bash app.sh
A filename ending in .sh is a convention, not a Bash requirement. A script can be executable without that extension.
Why shell scripting matters for DevOps
Shell scripts are especially useful for:
- glue code between CLI tools
- deployment/bootstrap tasks
- health checks and operational diagnostics
- file/configuration manipulation
- CI/CD job steps
- backups and cleanup
- infrastructure helper scripts