LinuxCBT Scripting Edition is a unique approach to teaching GNU/Linux Scripting skills. Serious Linux IT-professionals are expected to have a command of various scripting environments for administrative purposes. LinuxCBT Scripting Edition consists of the following 7 Modules:
- Bourne Again Shell (BASH)
- Perl
- Python
- PHP
- Regular Expressions (RegEx)
- Awk & Sed field (Column) and streams (Automated Text Editing)
- KornShell
LinuxCBT Scripting Edition, is unparalleled in content, depth and expertise. LinuxCBT Scripting Edition prepares you or your organization for successfully developing and implementing business-critical GNU/Linux-based scripting solutions. Linux automation requires a solid scripting foundation.
Recommended Prerequisites:
- Open mind & determination to master Linux Scripting Solutions - BASH/Perl/Python/PHP
- Access to a GNU/Linux-based PC to perform exercises in LinuxCBT Scripting Edition

Bourne Again Shell (BASH) Scripting - Module I
- Introduction to BASH Command Line Interface (CLI)
- Identify BASH installation & key configuration files on RedHat & Debian GNU/Linux distros
- .profile/.bash_profile/.bashrc/.bash_history
- Identify & use common built-in BASH commands (pwd,cd,set,unset,export,source,etc.)
- BASH Command-line Expansion
- Brace Expansion
- Tilde Expansion
- Parameter & variable Expansion
- Command Substitution
- BASH Reserved words
- BASH History identification & configuration
- Aliases (ls,du,df,rm,cp)
- Backticks - command expansion & execution
- BASH Prompt configuration
- Command chaining
- Error level/Return code (Command Exit Status) identification
- Conditional execution of subsequent commands (&&,||)
- Redirection | Error Handling
- Standard Input
- Direct input from STDIN (Standard Input)
- Redirect input from a file
- Standard Output
- Direct output to STDOUT (Standard Output
)
- Redirect output to a file
- Append Standard Output to an existing file
- Standard Error
- Explore STDERR attributes
- Redirect Standard Error
- Input/Output (I/O) Redirection
- Pipes
- Sequential execution via pipes
- Quoting & Escaping
- BASH Scripting
- Basic Script definition (hello world), permissions modification & execution
- Internal BASH variables
- Global Variable definition
- Function definition
- Local Variable definition - function scope
- BASH Arrays
- Loops
- Menu creation using Select
- Job control - Foreground/Background processing
- Conditionals
- Case - Concise Conditional Branching
- Positional Parameters
- BASH Script Definition
- Create BASH script to move multiple files to new names defined by positional parameters
- Create script to monitor directory for file changes and report the differences via E-mail to Administrator
- Create script to monitor directory size and report threshold encroachment to Administrator via E-mail
- Define script to parse logs for keywords and notify the Administrator via E-mail
- Create script to monitor network connectivity between hosts and report outages to Admin via E-mail
- Define script to monitor process, restart if fails, and E-mail Administrator at defineable limits
- Create script to backup sub-directories using Tar & Gzip, define threshold, and SSH file to remote host
- Log the output of BASH scripts to a Syslog-like format
- BASH 3.x Updates
- Explore BASH 3.x on multiple platforms: Linux|Solaris|MacOSX|FreeBSD
- Compare and contrast to BASH 2.x
- Execute BASH 2.x commands|scripts within BASH 3.x on multiple platforms
- Evaluate results
- top
Practical Extraction & Reporting Language (Perl) - Module II
- Perl Basics
- Discuss Perl's capabilities
- Identify available Perl binaries on the system
- Discuss Perldoc - documentation program
- Discuss Perl interpreter
- Define first Perl program - Hello World
- Explain the application of the SHEBANG header within Perl scripts
- Explain warnings options
- Explain strict options
- Discuss compilation of Perl scripts and compare and contrast with shell scripts
- Comments
- Print function
- Escape sequences including (\t, \n, etc.)
- Explain quoting rules and variable interpolation
- Variable definition
- Operators
- Perl Variables
- Variable scopes (Global/Local)
- Scalars - single values
- Discuss the properties of scalar variables
- Evaluate the definition of scalars
- Variable concatenation
- Arrays - lists & lists of lists
- Discuss the properties of array variables
- Evaluate the definition of arrays
- Multi-dimensional arrays
- Array slices
- Array functions
- Ranges
- Hashes - Key/Value pairs
- Discuss the properties of hashes
- Evaluate the definition of hashes
- Control Structures
- Discuss various types of Subroutines and features
- Define non-returning sub-routines
- Define returning sub-routine
- Conditionals
- If - integer and string comparisons
- Else/elsif testing
- Unless
- For Loops
- Foreach Loops - Array iteration
- While Loops
- Until Loops
- General Perl Information I
- Block Definition
- Use the X Functions for file system testing
- Positional parameters - ARGV
- Determine number of command line arguments
- Record Separators
- Internal Perl Variables
- Modules
- Explore the module path and applicable variables
- Discuss various ways to install Perl modules
- Install modules
- File I/O
- File Handles
- Open Function
- Discuss rules regarding file handles and use of the open function
- Assign file handles to Perl arrays for iteration
- Process text files using applicable file I/O functions and foreach loops
- Generate data files using file I/O functions
- Die function
- Error handing with Perl's built-in variables
- Count records from input file
- Use the Split function to separate fields based on various delimiters
- Use Join to assemble lists
- General Perl Information II
- References
- Chomp - strip superfluous characters
- Command substitution
- Use execute function to launch external programs
- Use system function to execute external commands and evaluate return status
- Regular Expressions discussion
- Demonstrate the many rules of Regular Expressions
- Process arrays using push/pop functions
- Generated data files and process them using split and field determination
- Mail integration using Sendmail
- Mail integration using downloaded Perl mail module
- Define and execute Perl one-liners
- Common Gateway Interface (CGI) - Apache 2.x integration
- Process GET & POST variables
- MySQL Database integration
- Identify required modules for MySQL integration
- Define connection object
- Execute SELECT queries
- Execute INSERT queries
- Execute UPDATE queries
- Execute DELETE queries
- Perl LFTP Integration - Error Handling
- Integrate LFTP client with Perl
- Automate LFTP process with Perl
- Implement error-handling
- Evaluate results
- top
Python - Object Oriented Linux Scripting Environment - Module III
- Basics
- Discuss Python's capabilities & features
- Identify location of pre-installed Python
- Discuss Python's Interactive interface
- Use the interactive interface to ouput basic expressions
- Hello World
- Identify reserved keywords
- Escape sequences & escape character exploration
- Define Python script using Linux SHEBANG header
- Execute Python scripts using the Python interpreter directly
- Discuss data types including strings, integers, lists, tuples, dictionaries, etc.
- Define standard variable types
- Use the print function to examine ouput of variables and expressions
- Use the type function to resolve data type
- Use the id function to expose the memory location of the stored variable
- Explain and define references and integrate with the id function
- Comments definition
- Perform basic arithmetic to illustrate the PEMDAS order of operations and examine how to alter it
- General Python Information I
- Explain and illustrate STDIN usage
- Examine the input function
- Examine the raw_input function
- Compare and contrast between input and raw_input functions
- Define small script to make use of input/raw_input and basic math functions
- Python Function concepts, applications and definition
- String Manipulation
- Define and ascertain the length of strings
- String extraction using list elements and list slicing
- Discuss immutable and mutable data types
- Loop through string slices using for loops
- Compare strings using string operators
- Discuss Python's object-oriented nature of various modules including classes and methods
- Import strings module
- Convert strings to upper and lower case using strings module methods
- Split strings into lists
- Join lists into strings
- List Manipulation
- Define lists
- Discuss and Define tuples
- Compare and contrast lists and tuples
- Reverse lists
- Append lists
- Extend lists
- Nest lists
- Define multi-dimensional lists
- Stack Lists using Last In First Out (LIFO) using the pop function
- Define First In First Out (FIFO) lists to emulate queueing using the pop function
- Insert values into various positions of the list
- Use ranges to generate integers
- Lists with Integers
- Lists with Strings
- Emulate standard UNIX Syslog logfile format using Lists
- Parse emulated logfile format using the Split function
- Recap list manipulation using integers, strings and various list methods
- Explain and define Dictionaries - key/value pairs similar to Hashes in Perl
- Control Structures
- IF - Defintion and usage
- Discuss the importance of indentation
- Else/Elif - comparisons against integers and strings
- Comparison negation
- Write script to perform conditional testing
- Import sys module to evaluate positional parameters using ARGV
- Define script which requires minimum number of command-line arguments
- Nest multiple if/elif statements to match logic
- Explain how for loops work in Python
- for loops definition and usage
- Iterate through lists of strings using for loops
- Integrate for loops with string manipulation functions and log file parsing
- Define and use While loops
- Define and examine the consequences of incorrect logic with an infinite while loop
- Integrate while loop with raw_input function to obtain data from the end-user
- Discuss file handle concepts and applications
- Use control structures to generate output for use in File I/O exercises
- Use the open function to read a file into a file handle
- Iterate through the lines within the opened file using readline functions, etc.
- Open file handles for writing
- Open multiple file handles
- Write strings to files using string formatting options and variable substitution
- Parse source file by extracting columns to be stored in destination file
- Regular Expressions
- Discuss Regular Expressions
- Import Regular Expressions module (re) for usage
- Implement Regular Expressions (REs)
- Regular Expressions Matching of strings and variables
- REGEX Repeaters
- Integrate Regular Expressions with text file processing
- Exception Handling
- Try & Except
- Modules
- Identification of default Python modules
- Import modules (sys, os, etc.) for usage
- Use the dir function to ascertain the classes and methods available within modules
- Use the SHUTIL module for advanced, high-level File I/O (Copy, Move, etc.)
- Python - Syslog integration
- Define script using the Syslog module to log to syslog
- Common Gateway Interface
- CGI Discussion and applications
- Implement Python CGI with Apache 2.x
- Evaluate results of CGI integration
- Globbing
- Dictionaries
- Further exploration of dictionaries
- Parse log files into dictionary data structure
- Organize results
- Analyse data
- Time
- Review properties of various time functions
- Export time with various functions
- Use
time functions to create log entries in process akin to Perl
- Evaluate results
- top
PHP - Hyper Text Pre-Processor - Dynamic Web Applications & CLI - Module IV
- Installation
- Identify Online PHP resources
- Download PHP
- Identify Apache prerequisite packages and programs - Modular support (mod.so)
- Extract, compile and install PHP with Apache modular support
- Compile and install PHP with Command Line Interface (CLI) support
- Identify key PHP configuration files & directories
- Configure Apache httpd.conf with PHP integration to provide PHP support
- Configure Apache with PHP binary and source support
- PHP Basics
- Explain PHP-supported long/short/ASP parse-tags & identify configuration changes in php.ini
- Hello World script output using echo to the web browser
- Describe the various comments supported by PHP
- Examine the ouput of PHP-maintained variables using phpinfo()
- Explain supported data types via variables (integers, strings, floating points, here documents, arrays, etc.)
- Test instantiation of supported variables with default types
- Explain Quoting rules and variable interpolation
- Demonstrate escape sequences such as tab, new lines, spaces, etc.
- Exercise the echo command
- Define basic associated arrays (i.e. hashes/dictionaries)
- Define nested associative arrays
- General Information
- Examine key CGI PHP-server variables
- HTTP_USER_AGENT
- PHP_SELF
- REQUEST_METHOD
- DOCUMENT_ROOT
- REMOTE_ADDR
- HTTP_REFERRER
- Explore HTTP GET Request Methods via the URLString and Forms
- Explore HTTP POST Request Methods via the URLString and Forms
- NULL Variables
- Basic Math - PEMDAS
- Integer and String Comparison Operators
- Examine execution operators for executing Linux Shell commands and obtaining the ouput
- Variable assignment via execution operations
- Illustrate the usage of nested arrays
- Control Structures
- IF - comparisons against integers and strings
- Else/Elseif - comparisons against integers and strings
- Test whether variables are of the same type
- Comparison negation
- C-stlye for loops definition and usage
- Generate HTML option boxes using C-style for loops
- foreach list iterator loop definition and usage
- Generate HTML based on the contents of the list iterated by foreach
- While loops definition and usage
- Examine filesystem listings using execution operators and while loops
- do While definition and usage
- Break
- Continue
- Switch - for concise if/elseif conditional examination
- General Information II
- Discuss the applications of Server Side Includes (SSI)
- Server Side Includes using require
- Server Side Includes using include
- Explain and examine the differences between require and include
- Demonstrate distributed include applications by including content using HTTP
- Header, leftnav, body, and footer definition and integration with require/include
- HTML Form defintion using include and control structures
- PHP Functions definition and sample usage
- ISSET & UNSET for examining and controlling variables
- Discuss the way PHP handles uploaded files
- Identify key configuration files which affect uploaded files
- HTTP File I/O - uploads & processing via HTML forms
- Define back-end action pages to handle HTTP file uploads
- Examine available file attributes of HTTP-uploaded files
- PHP SMTP E-mail integration discussion
- Define scripts to process forms and generate SMTP-based e-mail
- Examine PHP Mail function options
- Use mutt on the Linux system to examine PHP-generated SMTP-based e-mail
- PHP - Dynamic Web Programming
- PHP cookie concepts & usage discussion
- Cookie definition and examination on server and client system (Mozilla Firefox)
- Set and unset cookies on client system
- Make decisions based on the existence of cookies on the client system
- Session Variables concepts & usage discussion
- Identify pertinent configuration options for session variables
- Define session variables
- Integrate cookies with session variables
- Download MySQL RDBMS packages for usage with PHP
- Install MySQL RDBMS for usage with PHP
- Download the latest phpMyAdmin for installation
- Install phpMyAdmin with Apache supportfor web-based administration of MySQL RDBMS
- Recompile PHP for MySQL RDBMS support
- Update PHP configuration information to support MySQL
- Define basic database structure for usage
- Structured Query Language (SQL) integration with PHP
- Explain steps for connecting PHP scripts to MySQL
- Define and execute SELECT queries
- Define and execute INSERT queries
- Define and execute UPDATE queries
- Define and execute DELETE queries
- Forms Processing with MySQL integration
- Forms with Cookies
- Forms with Session Variables
- PHP - Command Line Interface (CLI)
- Discuss concepts and applications
- Identify CLI binary
- Discuss the possible ways of executing PHP scripts from the CLI
- Define and execute PHP one-liners
- Execute scripts using PHP binary as a prefix
- Explore executing PHP via the Interpreter mode
- PHP-Linux SHEBANG definition and usage
- Execute basic commands
- CLI - File I/O usage - Stat files
- Examine file attributes
- Determine access and modification times and make decisions using control structures
- PHP - Input Validation
- Define form and action script
to process form fields
- Submit form-fields for processing
- Examine results
- Define input validation masks with regular expressions
- Evaluate results
- Extend validation masks to command line interface (CLI)
- Supply PHP CLI with input
- Confirm validation masks
- top
LinuxCBT Scripting Editon - RegEx - Module V
- Introduction - Features
- Discuss course outline
- Explore system configuration
- Identify key systems
to be used
- Install the Bluefish graphical editor - Supports POSIX and PERL-compatible RegExes
- List key Regular Expressions applications
- Enumerate and discuss key Regular Expressions features
- Metacharacters
- Enumerate important metacharacters
- Provide examples of asterisk '*' usage
- Apply simple character classes
to searches
- Perform searches in the Bluefish editor using
literals and metacharacters
- Explain and apply anchors: '^', '$'
- Character Classes
- Discuss features and applications
- Perform searches in the Bluefish editor using character classes
- Search for case-insensitive characters
- Negate character class values using the circumflex character: '^'
- Specify ranges and inclusions
- Search for string boundaries
- Alternate between POSIX and Perl-compatible Regular Expressions in Bluefish Editor
- RegExes with GREP & EGREP
- Discuss features
and applications
- Perform simple GREP searches
- Use EGREP to find strings based on RegExes
- Parse installed applications using EGREP
- Extract 'su' attempts from the system log file: /var/log/messages
- Parse log file entries based on specific dates
- Parenthetical Expressions
- Discuss features and applications
- Compare and contrast with character classes
- Search for strings using the Bluefish Editor
- Combine anchors with parenthesis
and evaluate results
- Search for multiple groups of strings using alternation
- Use parenthetical expressions with EGREP
- Nest expressions using parenthesis
- Quantifiers
- Discuss features and benefits
- Define RegEx tokens
- Enumerate and discuss RegEx quantifiers
- Test '?' using the Bluefish Editor and EGREP
- Test '*' using the Bluefish Editor and EGREP
- Test '+' using the Bluefish Editor and EGREP
- Test '*' using the Bluefish Editor and EGREP
- Test '{ }' - arbitrary quantifiers with the Bluefish Editor and EGREP
- Combine anchors, parenthesis and various quantifiers
- Shortcut Sequences
- POSIX & Perl
- Discuss features and benefits
- Enumerate and discuss key shortcut sequences
- Test shortcut sequences using the Bluefish Editor
- Awk - Field Parser
- Discuss features and applications
- Use awk to extract fields from the process listing
- Apply RegEx literal strings to awk search
and evaluate results
- Apply RegEx character classes to awk search and evaluate results
- Apply RegEx parenthetical expressions to awk search and evaluate results
- Apply RegEx quantifiers to awk search and evaluate results
- Incorporate conditional RegEx matching with awk search and evaluate results
- Extract fields, based on RegExes, from system log file: /var/log/messages
- SED - Stream Editor
- Discuss features and applications
- Perform text transformation of text file
using string literals
- Perform text transformation of text file using string literals
and character classes
- Perform text transformation of text file using string literals and anchors
- Perform text transformation of text file using string literals and character classes
- Evaluate results
- GNU Utilities (GREP|Awk|SED) for Windows
- Discuss features
and benefits
- Identify and connect to Windows Server target system
- Download and install GNU utilities for Windows: GREP, Awk, SED
- Perform EGREP searches and evaluate results
- Perform gawk searches and evaluate results
- Perform SED substitutions and evaluate results
- Perl Regular Expressions
- Discuss features and applications
- Write simple Perl script to compare command line argument to RegEx and evaluate results
- Alter Perl script to read text file and perform RegEx comparisons
and evaluate results
- Incorporate character classes, parenthetical expressions, case-insensitivity and quantifiers
- Evaluate results
- Substitute matched text using Perl RegExes
- Substitute matched text using Perl RegExes from the command line
- Update system log using text substitution from the command line
- PHP Regular Expressions
- Discuss features and applications
- Perform POSIX and Perl-compatible RegExes
from the command line
- Substitute text using RegExes
- Evaluate results
- Design HTML form to collect fields via the browser
- Design back-end, action script to process the POST fields using RegExes
- Halt processing if POST fields do NOT meed criteria based on RegExes
- Evaluate results
- Apache Regular Expressions
- Discuss features and benefits
- Identify key configuration files
- Explore key RegEx-supporting Apache directives
- Match a range of directories using RegExes with <DirectoryMatch> directive
- Restrict access to files using RegExes with <FilesMatch> directive
- Match URL directory values using RegExes with <AliasMatch> directive
- Redirect users to alternate content using RegExes with <RedirectMatch> directive
- Date | Time Extractions | Regular Expressions | Logs
- Identify log entries to filter
- Filter date | time ranges using regular expressions
- Substitute extracted columns with replacement data
- Evaluate results
- HTML Updates
- Select HTML | PHP files to update
- Identify key strings
- Replace key strings with substitutes
- Perform widespread changes across HTML | PHP documents
- Evaluate results
- top
LinuxCBT Scripting Edition - Awk & Sed - Module VI
- Introduction - Features
- Discuss course outline
- Explore system configuration
- Identify key systems
to be used
- Install the Bluefish graphical editor - Supports POSIX and PERL-compatible RegExes
- Discuss features common and distinct to: Awk and Sed
- Regular Expressions Review
- Enumerate important metacharacters
- Provide examples of quatinfier usage
- Apply simple character classes
to searches
- Perform searches in the Bluefish editor using
literals and metacharacters
- Explain and apply anchors: '^', '$'
- Intro to Sed - Stream Editor
- Discuss features and applications
- Explain general usage syntax
- Print specific lines from input
- Delete specific lines from input
- Match streams using RegExes
- Search for ranges of text using line numbers and text ranges
- Save transformed output
- Sed - Search & Replace
- Discuss features
and applications
- Discuss Left-hand and Righ-hand side (LHS | RHS) sections in search & replace actions
- Acquire input from: STDIN, PIPES and Files and transform according to criteria
- Backup and overwrite source files using Sed one-liners
- Perform substitutions based on matched addresses
- Reuse matched strings in replacement output
- Perform text substitutions across multiple files
- Perform multiple replacements in one command
- Apply substitutions globally across all matches
- Sed - Scripts
- Discuss features and applications
- Explain general usage syntax
- Create script to remove blank lines from input stream
- Create script to make general substitutions
- Perform case-insensitive replacements via Sed script
- Insert strings into desried location in the input stream via Sed script
- Strip trailing numeric values from input stream via Sed script
- Apply changes to multiple files
- Save scripts for reuse
- Intro to Awk - Field Processor & Reporter
- Discuss features and benefits
- Explain general usage syntax
- Print full lines from input
- Print desired fields from input
- Match patterns using RegExes
- Control the input field | column delimiters
- Save output
- Awk - Scripts
- Discuss features and benefits
- Explain structure of Awk scripts
- Implement BEGIN and END blocks
- Parse system files using Awk script
- Awk - Variables
- Discuss features and applications
- Enumerate and discuss key Awk system variables
- Increment counters based on matched patterns using Awk
- Explain variable concatenation
- Explore arrays (lists of values)
- Create arrays using the split function
- Awk - Operators
- Discuss features and applications
- Explore Boolean and Relational operators
- Discuss looping strategies
- Evaluate conditional testing using system variables
- Evaluate results
- Awk - Process Records
- Discuss features
and benefits
- Define and evaluate multiple input field separators with files with mixed delimiters
- Normalize output by controlling the Output Field Separator (OFS)
- Extract records from system file and evaluated
- Account for number of processed and matched records in END block
- Awk - Print Formatting
- Discuss features and applications
- Compare and contrast 'print' and 'printf' output formatting
- Discuss 'printf' supported data types
- Evaluate 'printf' application in reporting
- Awk & Sed - Various Examples
- Discuss features and applications
- Parse and cleanup HTML and PHP files with Sed & Awk
- Replace values in system file with Awk
- Evaluate results
- Awk & Sed - Win32
- Discuss features and benefits
- Download and install Awk & Sed for Win32
- Transfer Linux files to Windows
- Test various parsing and substitution on Linux files
- Evaluate results
- Sed - File Name Transformations - Batch
- Enumerate poorly-named files for transformation
- Identify key replacement strings for regular expressions match
- Define
and apply regular expressions for transformations
- Transform prefixes and suffixes
- Evaluate results
- Awk - E-Mail Address Parsing
- Generate sample data set
- Define regular expressions patterns for transformation
- Transform sample data
- Evaluate results
- top
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
|