LinuxCBT feat. KornShell Edition focuses on the common Linux | Unix shell environment: Korn. It extends LinuxCBT Scripting Edition.
Kornshell derives largely from Bourne and C shells, incorporating many features from both. Kornshell also largely influenced the default Linux shell: BASH. Being familiar with Kornshell and BASH allows you to transport your skills across Linux and Unix systems with relative ease.
Let LinuxCBT feat. KornShell Edition cost-effectively teach you Linux | Unix shell skills.
Recommended Prerequisites for:
- Any LinuxCBT Operating System Course (Classic/EL-4|5/SUSE/Debian Editions)
- Open mind & determination to master Linux and related open-source applications
- Access to a Linux, Solaris or KornShell-compatible system to follow the exercises

LinuxCBT feat. KornSHell Edition - Module VII
- Introduction - Features
- Discuss KornShell history
- Explore system configuration
- Identify key systems
to be used
- Discuss key features
- Shell Basics
- Create KornShell users on various systems
- Identify key KornShell binaries and configuration files
- Explore key KornShell variables
- Discuss shell redirection and piping
- Command Chaining | Substitution
- Discuss features and applications
- Explain general usage of 'test' command
- Evaluate sequential execution of processes
- Invoke commands contingently using logical AND and OR
- Implement command substitution
- Evaluate defined variables using command substitution
- Variables
- Discuss features
and applications
- Discuss and reference positional parameters
- Explore standard command exit status variable
- Learn how to define variables
- Define persistent variables
- Unset variables and evaluate
- The Prompt - $PS{1..4}
- Discuss various prompt shell variables
- Setup vi-style command history access
- Customize primary prompt with useful KornShell variables
- Define a persistent prompt
- Evaluate results
- Functions
- Discuss features and benefits
- Explore POSIX and KornShell functions
- Define useful functions
in a script
- Reference functions
from a script
- Discuss how positional parameters are supported with funcitons
- Evaluate results
- Loops
- Discuss features and benefits
- Identify the supported iteration mechanisms
- Implement for | while | until loops
- Create finite and infinite loops
- Evaluate results
- Conditions
- Discuss features and applications
- Explore comparison testing
- Perform numeric comparisons
- Perform string comparisons
- Branch out using if | elif | else
- Evaluate results
- Error Handling
- Discuss features and applications
- Create script which requires a positional parameter
- Error handle as necessary
- Confirm the existence of the file referenced by the positional parameter
- Compartmentalize error handling into a function
- Evaluate results
- Backup Script
- Discuss features
and benefits
- Write a script to backup various files and directories
- Ensure that script is executed with appropriate number of positional parameters
- Auto-create backup file name using a unique date identifier
- Tar and compress (using gzip) backup items
- Incorporate error handling
- Evaluate results
- Arrays
- Discuss features and applications
- Explain supported arrays
- Define indexed array
with various items
- Reference individual and total array elements
- Evaluate results
- Build indexed array using command substitution
- Loop through array elements
- Define associative array with various items
- Expose total array elements
- Regular Expressions
- Discuss features and applications
- Highlight key metacharacters
- Use character-classes
- Implement RegExes with shell commands: ls|grep|awk|sed
- Evaluate results
- Kornshell on Solaris
- Compare & contrast Linux and Solaris Korn implementation
- Create Kornshell user on Solaris
- Identify key files
- Explore Solaris Kornshell as the user
- Customize Solaris Kornshell environment
- Run scripts created on Linux
- Evaluate results
- Case
- Discuss features and benefits
- Explain usage
- Create cases based on simple RegExes
- Write script to identify file types using case
- Explore case usage in system scripts
- Evaluate results
- Job Control
- Discuss features and benefits
- Background and foreground jobs
- Interact with running jobs
- Isolate jobs from TTY
- Evaluate results
- Typeset
- Discuss features and benefits
- Define variables of disparate types
- Justfiy variables
- Transform positional parameters and variables
- Enumerate system variables
- Scope variables in and out of functions
- Evaluate results
- Input Validation
- Discuss features and benefits
- Ensure the requisite number of positional parameters
- Confirm input prior to execution
- Evaluate results
- top
|