Shell Scripting
Learn shell scripting with Bash and other shells. Automate tasks, write scripts, work with variables, loops, functions, and aliases.

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


Shell scripting is a powerful way to automate tasks on your computer.

A shell is a command interpreter that exposes an interface to the underlying operating system. It allows you to execute operations using text and commands, and it provides advanced features like creating scripts.

Shells let you perform things in a more optimized way than a GUI (Graphical User Interface) could ever possibly let you do. Command line tools can offer many different configuration options without being too complex to use.

The terminal is not just for programmers. It’s essential for every professional computer user, because it unlocks things that are impossible to do with a GUI.

In this unit, you’ll learn:

  • Different types of shells (Bash, Zsh, Fish)
  • How to navigate the filesystem and run commands
  • How to write shell scripts to automate tasks
  • Working with variables and environment variables
  • Loops, arrays, and functions
  • Creating aliases for frequently used commands
  • Tips and tricks for daily shell usage

Shell scripting is one of the tools you’d better know, at least know how to read a program when you see it, and the goodies it can bring in your day to day work.

The terminal is also the way you access a server. You can create a VPS server on Amazon or DigitalOcean, and access it using SSH, the secure protocol to connect to a remote shell.

Lessons in this unit:

0: ▶︎ Introduction
1: Introduction to Shells
2: Bash Basics
3: Writing Shell Scripts
4: Variables and Environment Variables
5: Loops and Arrays
6: Shell Script Functions
7: Creating Aliases
8: Tips and Tricks
9: The Fish Shell
10: Persist aliases and other configuration in Fish Shell
11: How to add a path to Fish Shell
12: Fish Shell, how to avoid recording commands to history
13: Fish Shell, how to remove the welcome message
14: How to replace all filenames with space with underscore using a shell script
15: How to update all npm packages in multiple projects that sit in subfolders