Home About Courses Schedule Services Webinars Contact Search

Shell Programming


Duration: 3 Days

Method: Instructor led, Hands-on workshops

Price: $1625.00

Course Code: UI1020


UNIX users who require a general knowledge of Shell Programming.


This course provides an understanding of the command and programming language capabilities of the UNIX System V standard Korn Shell from a programming perspective. It also explains commands particularly useful in conjunction with Shell programs, as well as all of the programming constructs available within both the Bourne and Korn Shells. This class may be taken in conjunction with the 3-day Introduction to UNIX class.


Upon successful completion of this course, the student will be able to:

  • Describe the purpose and functions of the Shell Interpreter
  • Use UNIX System commands useful for Shell programming
  • Create and execute Shell programs
  • Use additional forms of input and output redirection in conjunction with Shell programs
  • Establish and use parameters and variables within Shell programs
  • Describe and use special Shell variables
  • Use the Shell quoting mechanisms to escape the meaning of special characters
  • Use all of the Shell control structures
  • Trace, debug, and document Shell programs


Introduction to UNIX course or equivalent experience, and experience in programming in any high level programming language.


  • I.Introduction
    • What is the Shell Interpreter?
    • Functions of the Shell Interpreter
    • What is a Shell Procedure?
    • Creating Shell Programs
    • Implicit and Explicit Execution
  • II.Command Lines & If Construct
    • Useful Shell Commands
    • Command Lines
      • Sequential
      • Grouped
      • Conditional Operators
    • The if Construct
    • The if-else Construct
    • The if-elif Construct
  • III.Parameters & Variables
    • What is a Variable?
    • Assigning to Variables
    • The Read Statement
    • Quoting
      • Special Characters
      • Backslash
      • Single Quoting
      • Double Quoting
    • The while Loop
    • Special Variables
    • export and readonly
    • Positional Parameters
  • IV.Test & Case Statements
    • test Statement Features
      • File Status
      • String Comparison
      • Numeric Comparison
    • The case Statement
  • V.Input/Output Considerations
    • Command Substitution
    • Redirection of Errors Messages
    • The Here Document
    • The for Loop
  • VI.Debugging & Documenting
    • Keyword Parameters
    • Tracing Shell Procedures
    • Handling External Events
    • Comments as Documentation