651-905-3729 Microsoft Silver Learning Partner EC Counsel Reseller compTIA Authorized Partner

Shell Scripting Workshop Virtual Classroom Live May 24, 2027

Price: $1,200

This course runs for a duration of 2 Days.

The class will run daily from 9 AM MT to 5 PM MT.

Class Location: Virtual LIVE Instructor Led - Virtual Live Classroom.

Enroll today to reserve your spot!

Space is limited. Enroll today.

Enroll Now

Description

Master Bash shell scripting in this lab-intensive workshop designed for Linux professionals who need to automate system tasks, process text data, and build reliable command-line tools. Starting with shell fundamentals and progressing through advanced defensive scripting techniques, students gain practical skills they can apply immediately to real-world administration and DevOps workflows.

The curriculum covers variables, quoting, and command substitution before advancing into I/O redirection, piping, and here documents. Students build proficiency with regular expressions using grep and sed, then learn the awk programming language for structured data processing. Flow control topics include conditionals, loops, case statements, functions, and command-line option parsing with getopts. The final chapter tackles production scripting concerns: error handling with set and trap, locale-aware scripting, whitespace safety, IFS manipulation, and secure coding practices.

With 24 hands-on lab exercises across seven chapters, every concept is reinforced through guided scripting practice on live Linux systems. Students write, debug, and refine scripts of increasing complexity, building a scripting toolkit they can take back to their organizations.

Audience:

System administrators, DevOps engineers, site reliability engineers, and Linux professionals who work at the command line and need to automate repetitive tasks, build reliable scripts, and process structured text data efficiently.

Skills gained:

Write and execute Bash shell scripts using shebangs, comments, and proper file permissions
Use positional parameters, special variables, and the read command to handle script input
Manage shell and environment variables, quoting rules, and command substitution
Redirect STDIN, STDOUT, and STDERR using file redirection, pipes, here documents, and tee
Construct basic and extended regular expressions for pattern matching with grep and sed
Implement conditional logic using test, if/elif/else, and case statements
Build iterative scripts using for, while, until, and select loops with getopts option parsing
Process and transform structured text data using awk, cut, sort, and uniq
Define reusable Bash functions with local variable scope and POSIX-compatible syntax
Schedule automated tasks with cron, crontab, and anacron
Apply defensive scripting techniques including set -euo, signal trapping, and proper variable quoting
Diagnose common scripting pitfalls involving whitespace, IFS, locales, and alias interference

Course Overview

  • INTRODUCTION TO THE SHELL
    1. Shell Script Strengths and Weaknesses
    2. Shells
    3. Switching User Contexts
    4. Example Shell Script
    5. Shell and Environment Variables
    6. Key Environment Variables
    7. Which and Type
    8. General Quoting Rules
    9. Nesting Commands
    10. Help from Commands and Documentation
    11. whereis
    12. Getting Help Within the Graphical Desktop
    13. Getting Help with man & info
    LAB TASKS
    1. Shell Variables
    2. Shell Meta-Characters
    3. Command Substitution
  • SHELL SCRIPTING BASICS
    1. Positional Parameters
    2. Input & Output
    3. printf
    4. alias
    5. Functions
    6. Colors in Scripts
    7. Custom Bash Prompts
    LAB TASKS
    1. Aliases
    2. Bash Login Scripts
    3. Create "userinfo" and "sysinfo" functions
  • WORKING WITH FILES
    1. Communication Channels
    2. File Redirection
    3. Piping Commands Together
    4. Doing Math
    5. Filesystem Structures
    6. Determining Disk Usage With df and du
    7. cron
    8. The crontab Command
    9. crontab Format
    10. /etc/cron.*/ Directories
    11. Sending Email with mailx
    LAB TASKS
    1. Disk and Filesystem Usage
    2. Redirection and Pipes
  • REGULAR EXPRESSIONS
    1. Searching Inside Files
    2. Regular Expression Overview
    3. Regular Expressions
    4. RE Character Classes
    5. Regex Quantifiers
    6. RE Parenthesis
    7. The Streaming Editor
    LAB TASKS
    1. Pattern Matching with Regular Expressions
    2. Extended Regular Expressions
    3. Using Regular Expressions With sed
  • BRANCHING AND LOOPING
    1. Exit Status
    2. Comparisons with test
    3. Conditional Statements
    4. Flow Control: case
    5. Flow Control: while and until Loops
    6. The for Loop
    7. Flow Control: select
    LAB TASKS
    1. Reporting User Statistics
    2. Monitoring Filesystem Usage
  • DATA MUNGING
    1. Text Processing with Awk
    2. Text Sorting
    3. Duplicate Removal Utility
    4. Extracting Columns of Text
    LAB TASKS
    1. Create "rmhost" function
    2. Create "showenv" function
    3. Parsing Mail Server Logs
    4. Fixing Incorrect Files
  • SECURITY, WHITESPACE AND OTHER GOTCHAS
    1. Gotcha: Quoting Variables
    2. Gotcha: Locales
    3. Gotchas: Maximum Command Length
    4. Gotcha: Whitespace in for Loops
    5. Reading Files with while
    6. Gotcha: $IFS
    7. Gotcha: Printing in .bashrc
    8. Gotcha: Aliases
    LAB TASKS
    1. Renaming MP3 Files
    2. Split and Display $PATH
    3. A tar-based Backup
  • CHALLENGE
    1. Apache Configuration Files
    2. httpd.conf – VirtualHost Configuration
    LAB TASKS
    1. Automated Virtual Host Provisioning
  • EMACS
    1. Emacs
    2. The Emacs Interface
    3. Basic Emacs
    4. More Emacs Commands
    LAB TASKS
    1. Text Editing with Emacs
  • THE SECURE SHELL (SSH)
    1. ssh and sshd Configuration
    2. Accessing Remote Shells
    3. Transferring Files
    4. SSH Key Management

Prerequisites

Proficiency with the Linux command line, including file management, text editing, and basic command usage. GL120 (Linux Fundamentals) or equivalent experience required.