> ## Content Index
> Fetch the complete content index at: https://linuxhandbook.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Bash Fundamentals
- URL: https://linuxhandbook.com/courses/bash/
- Published: 2025-08-18T09:35:34.000Z
- Updated: 2026-09-06T05:12:17.000Z
- Description: Get started with Bash scripting through practical, hands-on examples, then test what you've learned with exercises after every chapter. Free, no signup needed.
- Author: Ahmed Alkabary
- Tags: Bash, #courses-col, #course-level-beginner, #course-duration-3h, #group-basics, #group-core, #group-next-level

Whether you are a beginner or seasoned Linux user, you cannot escape Bash. 

From school curriculum to sysadmin tasks, from setting up your homelab to working as DevOps, Bash scripting is present everywhere.

It is time that you get familiar with the essentials of bash shell scripting, and this course intends to do the same. 

****📶 Difficulty level: Beginner**  
****⏳ Time to complete: Approx. 3 hours**  
****📋 Prerequisite: Absolute** [****basics of getting around Linux terminal**](https://itsfoss.com/linux-terminal-basics/?ref=linuxhandbook.com)

## Why learn Bash scripting?

- **It's already installed.** No setup, no package to pull in. If you have a Linux terminal, you have bash.
- **It shows up everywhere.** School assignments, sysadmin work, homelab automation, DevOps pipelines. You won't get far in Linux without running into it.
- **Small scripts save real time.** Backups, log cleanup, deployment steps, anything repetitive is a candidate for a script that takes seconds to run.
- **It's the foundation for bigger tools.** Ansible playbooks, CI/CD pipelines, and Docker entrypoints all lean on the same bash fundamentals this course covers.
- Your AI agent knows it. You should know it too.

## What you'll learn

By the end of this course, you'll be able to:

- Write and run your own bash scripts instead of retyping commands by hand
- Store and reuse values with variables instead of hardcoding them everywhere
- Pass arguments into a script so it works on more than one input
- Work with arrays to handle lists of values in a single variable
- Do arithmetic and comparisons directly in bash, no calculator needed
- Manipulate and check strings, a skill almost every real script needs
- Add conditional logic so your script reacts differently depending on the situation
- Use loops to repeat an action across files, lines, or arguments
- Package logic into functions you can reuse across scripts
- Put it together into a small, real-world automation task

💡

Each lesson in this course has practice exercises, too, so that you can test what you just learned.

## Prerequisites

You need to be comfortable getting around a Linux terminal: opening it, running basic commands, navigating directories. That's it. No prior scripting or programming experience required.

If you need help with that, we have a [free Linux terminal introduction course](https://linuxhandbook.com/courses/command-line-basics/) for absolute beginners. It's for people who have never entered the terminal in their life.

## Who this course is for

- Students or self-taught learners filling a gap in their command line skills
- Linux users who are tired of manually repeating terminal tasks
- Sysadmins and homelab owners who want to automate backups, cleanup, or monitoring
- Anyone heading into DevOps who needs bash as a baseline before tools like Ansible or CI/CD pipelines make sense
- Developers who use Linux daily but have never formally learned the shell scripting side of it

## Why learn Bash with us

This isn't a reference page you skim and forget. Each chapter builds on the last, with working examples you run yourself and exercises that check whether you understood the concept. You're not just reading about bash, you're writing it.

💡

And it's completely free. No signup, no paywall, no catch. Click the first chapter and start learning.

## About the instructor

### Ahmed Alkabary

![](https://m.media-amazon.com/images/I/61RzruNc+HL._SX450_CR0%2C0%2C450%2C450_.jpg)

**DevOps Engineer by day and Linux educator by night**. Ahmed has written best-selling books like Learn Linux Quickly and Learn Ansible Quickly. He has also created several online courses on Bash, Docker, Ansible and many more DevOps tools.

## How to use this course?

You can simply **read the text** and see things in action.

Although, it is **highly recommend that you follow the instructions and steps on your own system. That will be the best approach here**.

The course is divided into chapters. The chapters of the series are always visible in the left sidebar and you can easily switch between them. The sub-sections of a chapter are located in the right sidebar.

The next and previous chapter navigation are also present at the bottom of each chapter.

Each chapter has sample examples and practice exercises to test your learnings.

For any doubts, you can always use the comment section available under each chapter.

Let's start scripting bash!

[Start learning Bash shell scripting](https://linuxhandbook.com/courses/bash-beginner/run-shell-script/)

## FAQ

#### Do I need any programming experience first?

No. This course assumes terminal familiarity, not programming knowledge. Everything else is taught from scratch.

#### Is this really free?

Yes, fully free, no signup or account required. Although we appreciate if you join our newsletter and continue learning Linux with us.

#### ****Will this work if I'm on macOS or WSL instead of native Linux?**

Yes. Bash works the same way on macOS's terminal and Windows Subsystem for Linux, so the lessons apply directly.

#### ****How long does the course take?**

Each chapter runs 15–30 minutes, including the practice exercises. But go at your own pace and take as long as you need.

##