What is Bash Scripting?
Bash scripting allows you to save multiple Linux commands in a file and run them all at once.
Instead of manually typing commands repeatedly, you can automate tasks such as:
- Backups
- File management
- System updates
- Data processing
Why Learn Bash Scripting?
- Automation → Run tasks automatically without manual input.
- Efficiency → Save time by executing multiple commands instantly.
- Customization → Tailor Linux to your workflow.
- Portability → Works across most Linux distributions with minimal changes.
Step 1: Preparing Your Environment
You will need:
- A Linux terminal (Bash is installed by default on most systems)
- A text editor — e.g., Nano, Vim, or Gedit
- Basic familiarity with the Linux command line
Step 2: Creating Your First Bash Script
1. Create a Directory (Optional)
bashmkdir scripts
cd scripts
2. Create a Script File
bashnano hello.sh
3. Add the Script Content
bash#!/bin/bash
echo "Hello, World!"
- The
#!/bin/bash
line is called the shebang — it tells the system to use Bash for the script.
4. Save & Exit
- In Nano, press
CTRL + X
, thenY
, thenEnter
.
Step 3: Make the Script Executable
Before running your script:
bashchmod u+x hello.sh
Step 4: Run Your Script
You can run it in two ways:
Using Bash explicitly:
bashbash hello.sh
Or execute it directly (if executable + shebang present):
bash./hello.sh
Expected output:
textHello, World!
Step 5 (Optional): Run Script from Anywhere
To run scripts as if they’re built-in commands:
- Find your scripts folder path:
bashpwd
- Add it to
$PATH
:
bashexport PATH=$PATH:/home/user/scripts
Now you can run:
bashhello.sh
from anywhere.
Essential Bash Concepts You Should Know
- Shebang (
#!/bin/bash
) → Tells system to use Bash. - Echo → Print messages.
- Variables → Store and reuse values (
NAME="Linux"
). - Permissions → Must set execute permission (
chmod
). - Script naming →
.sh
is common but optional.
Pro Tips for Cleaner Scripts
- Use comments (
#
) to document your code. - Organize scripts into dedicated folders.
- Break repetitive sections into functions for reuse.
- Test scripts before scheduling with cron.
👉 Read next: Bash Functions – A Complete Guide for Shell Scripting