Linux Shell Scripting: A Project-Based Approach to Learning

AVG Duration14h


This learning path will give you the practical knowledge and hands-on skills that you need to start shell scripting on your own. Each course within this learning path includes exercises that guide you through the shell scripting topics covered and that you can follow along with in your own Linux environment.

We'll work through a wide variety of shell scripts using project-based examples, which will help you to reach the learning objectives listed below. In order to follow along with the guided exercises in this learning path, all of the resources used can be downloaded here.

Learning Objectives

  • Name your shell scripts.
  • Use the proper permissions on your shell scripts.
  • Create and use variables in your scripts.
  • Use shell built-in commands and operating system commands.
  • Make the most out of special variables that are available to you in your scripts.
  • Make decisions by using if statements and performing several different kinds of tests
  • Check the exit statuses of commands and why you need to.
  • Use cryptographic hash functions
  • Create random data so you can do things like automatically generate strong passwords for user accounts.
  • Perform the same action or set of actions over a series of data utilizing for loops, while loops, and infinite loops.
  • Control all types of input and output.
  • Accept standard input from a user as well as from another program.
  • Redirect standard output and standard error.
  • Combine standard output and standard error
  • Use command pipelining
  • Perform text and string manipulation.
  • Process command-line arguments
  • Creating functions and when to do so.
  • Parsing, analyzing, and reporting on log files, CSV files, and other data.
  • Writing scripts that execute commands on other systems.

Intended Audience

  • Anyone who wants to learn Linux shell scripting 
  • Linux system administrators, developers, or programmers


  • A basic understanding of the Linux command line
  • Access to a computer with a 64-bit processor running either Windows, Mac, or Linux. (You do NOT need Linux already installed to take this course.)


Your certificate for this learning path

Training Content

Course - Beginner - 14m
Linux Shell Scripting — Introduction
This course introduces the Linux Shell Scripting learning path and also talks you through the downloads that come as part of it.
Course - Beginner - 53m
Creating a Local Linux Shell Scripting Environment
In this course, you're going to learn how to set up a local Linux shell scripting environment, whether you're using Windows, MacOS, or Red Hat Enterprise Linux.
Course - Beginner - 2h 3m
Shell Scripting: User and Account Creation
This course explains how to set up users and accounts, and gets you started with shell scripting.
Exam - 35m
Knowledge Check: Linux Shell Scripting (1 of 4)
Knowledge Check: Linux Shell Scripting (1 of 4)
Course - Intermediate - 1h 37m
Password Generation and Shell Script Arguments
In this course, you'll learn how to automate the process of generating a random password. You'll also learn about positional parameters, arguments, for loops, while loops, and special parameters.
Course - Intermediate - 51m
Linux Programming Conventions
In this course, you'll learn about the different types of input and output and how to redirect and control those types of input and output.
Exam - 35m
Knowledge Check: Linux Shell Scripting (2 of 4)
Knowledge Check: Linux Shell Scripting (2 of 4)
Course - Intermediate - 2h 42m
Shell Scripting: Parsing Command Line Options
In this course, we'll cover a range of topics designed to help you enhance your Linux scripts.
Course - Intermediate - 1h 33m
Shell Scripting: Transforming, Processing, and Reporting Data
In this course, we'll explore a range of options for manipulating data and transforming text.
Exam - 35m
Knowledge Check: Linux Shell Scripting (3 of 4)
Knowledge Check: Linux Shell Scripting (3 of 4)
Course - Intermediate - 3h 7m
Linux Network Scripting & Automation of Distributed Systems
This course explores a variety of practices for setting up a network on Linux, managing Linux systems remotely, and automating and monitoring processes.
Course - Beginner - 8m
Linux Shell Scripting — Learning Path Summary
This course wraps up the Linux Shell Scripting learning path and recaps what you've learned.
Exam - 25m
Knowledge Check: Linux Shell Scripting (4 of 4)
Knowledge Check: Linux Shell Scripting (4 of 4)
About the Author
Learning paths18

Jason is the founder of the Linux Training Academy as well as the author of "Linux for Beginners" and "Command Line Kung Fu." He has over 20 years of professional Linux experience, having worked for industry leaders such as Hewlett-Packard, Xerox, UPS, FireEye, and Nothing gives him more satisfaction than knowing he has helped thousands of IT professionals level up their careers through his many books and courses.

Covered Topics