Course Description
Linux Shell Scripting is designed to provide the skills necessary to automate tasks on a Linux or Unix system. Systems Administrators and Developers alike can avoid errors, save time and money by replacing repetitive work patterns with shell scripts. Care has been taken to present Linux Shell Scripting in a format that benefits all students, with or without previous programming experience. We believe that the best way to learn shell scripting is writing shell scripts. For this reason, lab time is emphasized. Early labs present the scripting process step by step, while later labs are presented in a challenge format. While official solutions to each lab task are provided, students are encouraged to create their own before examining the solution. In this way, more experienced students are challenged without overwhelming the less experienced.
Linux Shell Scripting Dec 2025Linux Shell Scripting
Shell Script Strengths and Weaknesses
Shells
Switching User Contexts
Example Shell Script
Shell and Environment Variables
Key Environment Variables
Which and Type
General Quoting Rules
Nesting Commands
Help from Commands and Documentation
whereis
Getting Help Within the Graphical Desktop
Getting Help with man & info
Shell Variables
Shell Meta-Characters
Command Substitution
SHELL SCRIPTING BASICSPositional ParametersInput & OutputprintfaliasFunctionsColors in ScriptsCustom Bash PromptsLAB TASKSAliasesBash Login ScriptsCreate "userinfo" and "sysinfo" functions
Positional Parameters
Input & Output
printf
alias
Functions
Colors in Scripts
Custom Bash Prompts
Aliases
Bash Login Scripts
Create "userinfo" and "sysinfo" functions
WORKING WITH FILESCommunication ChannelsFile RedirectionPiping Commands TogetherDoing MathFilesystem StructuresDetermining Disk Usage With df and ducronThe crontab Commandcrontab Format/etc/cron.*/ DirectoriesSending Email with mailxLAB TASKSDisk and Filesystem UsageRedirection and Pipes
Communication Channels
File Redirection
Piping Commands Together
Doing Math
Filesystem Structures
Determining Disk Usage With df and du
cron
The crontab Command
crontab Format
/etc/cron.*/ Directories
Sending Email with mailx
Disk and Filesystem Usage
Redirection and Pipes
REGULAR EXPRESSIONSSearching Inside FilesRegular Expression OverviewRegular ExpressionsRE Character ClassesRegex QuantifiersRE ParenthesisThe Streaming EditorLAB TASKSPattern Matching with Regular ExpressionsExtended Regular ExpressionsUsing Regular Expressions With sed
Searching Inside Files
Regular Expression Overview
Regular Expressions
RE Character Classes
Regex Quantifiers
RE Parenthesis
The Streaming Editor
Pattern Matching with Regular Expressions
Extended Regular Expressions
Using Regular Expressions With sed
BRANCHING AND LOOPINGExit StatusComparisons with testConditional StatementsFlow Control: caseFlow Control: while and until LoopsThe borne for-LoopFlow Control: selectLAB TASKSReporting User StatisticsMonitoring Filesystem Usage
Exit Status
Comparisons with test
Conditional Statements
Flow Control: case
Flow Control: while and until Loops
The borne for-Loop
Flow Control: select
Reporting User Statistics
Monitoring Filesystem Usage
DATA MUNGINGText Processing with AwkText SortingDuplicate Removal UtilityExtracting Columns of TextLAB TASKSCreate "rmhost" functionCreate "showenv" functionParsing Mail Server LogsFixing Incorrect Files
Text Processing with Awk
Text Sorting
Duplicate Removal Utility
Extracting Columns of Text
Create "rmhost" function
Create "showenv" function
Parsing Mail Server Logs
Fixing Incorrect Files
SECURITY, WHITESPACE, AND OTHER GOTCHASGotcha: Quoting VariablesGotcha: LocalesGotchas: Maximum Command LengthGotcha: Whitespace in for LoopsReading Files with whileGotcha: $IFSGotcha: Printing in .bashrcGotcha: AliasesLAB TASKSRenaming MP3 FilesSplit and Display $PATHA tar-based Backup
Gotcha: Quoting Variables
Gotcha: Locales
Gotchas: Maximum Command Length
Gotcha: Whitespace in for Loops
Reading Files with while
Gotcha: $IFS
Gotcha: Printing in .bashrc
Gotcha: Aliases
Renaming MP3 Files
Split and Display $PATH
A tar-based Backup
CHALLENGEApache Configuration Fileshttpd.conf – VirtualHost ConfigurationLAB TASKSAutomated Virtual Host Provisioning
Apache Configuration Files
httpd.conf – VirtualHost Configuration
Automated Virtual Host Provisioning
EMACSEmacsThe Emacs InterfaceBasic EmacsMore Emacs CommandsLAB TASKSText Editing with Emacs
Emacs
The Emacs Interface
Basic Emacs
More Emacs Commands
Text Editing with Emacs
THE SECURE SHELL (SSH)OpenSSH Client & Server ConfigurationAccessing Remote ShellsTransferring FilesSSH Key Management
OpenSSH Client & Server Configuration
Accessing Remote Shells
Transferring Files
SSH Key Management
Related Certificates
Earning a Saint Louis University Workforce Center certificate allows you to enhance your career options by networking with peers and establishing valuable industry contacts.
ISACA Professional Certificate
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud.
See Details
Artificial Intelligence and Large Language Models Foundations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud.
See Details
Artificial Intelligence and Machine Learning for Cybersecurity Operations
Artificial intelligence (AI) and machine learning (ML) are revolutionizing the cybersecurity industry. The emergence of ML as a tool for...
See Details