Individuals requiring a mastery of the command line interface to the
UNIX operating system. This includes system administrators,
programmers, and power users.
- Review of Useful Shell Commands
head and tail
cut and paste
find
ps
- others
- Shell Basics
- Using Redirection, Pipes, Command and Variable Substitution
- Creating and Using Shell Scripts
- Single and Double Quotes
- Command Line Parsing
- Using
ksh
- Command Line Editing
- Using the History, Alias, and Function Facilities
- Korn Shell Job Control
- The Shell Environment
- Shell Scripting, Part 1: Basics
- Why Shell Programming?
- Steps to Creating a Script
- Menu Building Example Using
select
- Commenting Your Shell Scripts
- Working with Variables
- Proper Use of Error Messages
- Performing Arithmetic in the Shell
- Using
expr for String Matching (deprecated)
- Interactive Shell Scripts
- Shell Scripting, Part 2: Flow Control
- Control Flow:
if-then-else
- Test Operations (using
test, [ ], and [[ ]])
- Control Flow:
for Loops
- Control Flow:
while Loops
- Changing the Script Parameters
- Changing Loop Flow (
break and continue)
- Multi-choice
case Statements
- Exiting a Shell Script
- Using
select to Build a Menu
- Shell Scripting, Part 3: User Interaction
- Using
getopts For Handling Options
- Temporary Files
- The
trap Command
- Debugging Options in the Korn Shell
- Shell Scripting, Part 4: Efficiency
- Subshells
- Conditional Execution
- Floating Point Arithmetic
- Using Coprocesses
- HERE Documents
- Shell Functions
Upon completion of this course, the student will be able to
write Korn Shell scripts using the following features and more:
Students are invited to bring their current ideas and questions to the
classroom for discussion. Case studies, lecture, group problem
solving, and online laboratories will be used. Students will be
encouraged to enhance their skills utilizing the techniques presented
through classroom problem solving and controlled online workshops.
Familiarity with Unix commands, directory structure, and the text
editor is required; this course includes a short review of some basics,
but proficiency with the system editor is expected.
Programming skills are not required, but are helpful.