Shell Training
A course titled "
KornShell Programming (Course 434)
"
is taught by
Mr. Dana French
of
Mt Xia
through
Learning Tree International.
An overview of this course follows:
INTRODUCTION AND OVERVIEW
- Knowing when to use ksh
- Integrating KornShell scripts with external applications and tools
- Typical KornShell applications
- Differences between ksh88 and ksh93
- Benefits of KornShell vs. other shells
KORNSHELL FUNDAMENTALS
Shell script elements
- Commands and comments
- Defining exit values
Conditional program execution
- Applying if and case statements
- Simplifying if logic with elif
Program loops and iteration
- Conditional looping with while and until
- Pattern matching and list for loops
Testing files and strings
- Testing file age and permissions
- Comparing strings
- Verifying the existence of a string
- Testing with the [[ ]] command
Debugging
- Redirecting print as a debugging aid
- set commands for debugging
STORING AND ACCESSING DATA
Positional parameters
- Passing and accessing parameters
- Setting and unsetting parameters
- Manipulating parameters as groups
Shell variables
- Defining global and local variables
- Specifying default values and error conditions
- Writing reports by setting display characteristics
Arrays
- Creating and indexing arithmetic arrays
- Processing array contents with special variables
PROCESSING DATA
Manipulating strings
- Extracting substrings
- Determining string length
Mathematics under the KornShell
- Creating counting while loops
- Writing mathematical expressions: let vs. (( )), $(( ))
MODULAR PROGRAMMING WITH FUNCTIONS
KornShell function basics
- Functions vs. scripts
- Managing your variable namespace
Creating a function library
- Finding your library with FPATH
- Building a function library directory
INTERACTING WITH THE OUTSIDE WORLD
Manipulating files and redirecting data
- Processing command line parameters
- Deciphering redirection order
- Unraveling the secrets of exec: opening and closing multiple files
Interacting with running processes
- Handling error signals
- Defining post-termination actions such as notification, cleanup
- Reinitializing or getting status
Accessing network servers
- Contacting a network server
- Exchanging data with a network server
CREATING "PRODUCTION QUALITY" SCRIPTS
Ensuring environmental control
- Checking and modifying environment variables
- Using getopts to process command line options
Handling user interactions
- Setting up error processing
- Employing select to create a menu interface
The following is a free course on the topic of Bourne Shell
programing
intro.shtml UNIX Bourne Shell Programming
toc.shtml Table of Contents
sh1.shtml UNIX Bourne Shell Programming
sh2a.shtml UNIX Bourne Shell Programming
sh2b.shtml UNIX Bourne Shell Programming
sh3.shtml UNIX Bourne Shell Programming
sh4a.shtml UNIX Bourne Shell Programming
sh4b.shtml UNIX Bourne Shell Programming
sh5a.shtml UNIX Bourne Shell Programming
sh5b.shtml UNIX Bourne Shell Programming
sh6a.shtml UNIX Bourne Shell Programming
sh6b.shtml UNIX Bourne Shell Programming
sh6c.shtml UNIX Bourne Shell Programming
sh7a.shtml UNIX Bourne Shell Programming
sh7b.shtml UNIX Bourne Shell Programming
sh8.shtml UNIX Bourne Shell Programming
sh9a.shtml UNIX Bourne Shell Programming
sh9b.shtml UNIX Bourne Shell Programming
man_ar.shtml Manual: ar(1)
man_cb.shtml Manual: cb(1)
man_cc.shtml Manual: cc(1)
man_expr.shtml Manual: expr(1)
man_f77.shtml Manual: f77(1)
man_ftp.shtml Manual: ftp(1)
man_ksh.shtml Manual: ksh(1)
man_lint.shtml Manual: lint(1)
man_sh.shtml Manual: sh(1)
man_test.shtml Manual: test(1)
man_time.shtml Manual: time(1)