610 - Shell Programming for System Administrators

Course Overview:

Hands-on knowledge of the Bourne Shell is an essential component of expertise in using and administering UNIX systems. Now you can learn how to use and program the Bourne Shell through lectures, demonstrations, and hands-on labs in this comprehensive course from SCO.

This course is designed for system administrators who wish to achieve the highest performance standards for maintaining and enhancing their SCO OpenServer systems. The course is invaluable for any user who wants to use the full power of the shell to execute commands on the system.

In addition, this course can be especially valuable for SCO ACE applicants, who are expected to have mastery of the material.

Topics include details of command execution, using variables in shell scripts, writing program code that uses flow control constructs, and signal handling. All the knowledge and hands-on skills you need to put the Bourne Shell to work is included in this course package.

Course Objectives:

By the end of the course, students will be able to:

  • Identify and use the basic command line features of the Bourne shell
  • Identify and execute the different command types on the system
  • Write a basic "batch-file" shell script
  • Use shell variables in a shell script
  • Use quotes to protect shell metacharacters in a shell script
  • Conditionally execute lines of code in a shell script
  • Use looping statements to repeatedly execute lines of code in a shell script
  • Write shell functions for use within a shell script
  • Handle signals when they are received in your shell scripts
  • Identify efficiency considerations for a shell script


Students must have mastered the content of the following course before attending this course:

210 - Introduction to SCO System V

Course Series:

241 - SCO OpenServer Release 5 Administration I: User Services
320 - SCO TCP/IP and SCO NFS: Administration and Configuration
410 - SCO Graphical User Interface/Desktop: Administration and Configuration
610 - Shell Programming for System Administrators

Course Topics:

Shell Overview

  • UNIX System Architecture
  • Command Line Interpreter
  • Filename Expansion
  • I/O Redirection
  • Other Shell Features

Command Execution

  • Command Types
  • Processes
  • Execution Techniques

Basic Scripts

  • Shell Scripts Execution
  • Comments
  • Which Shell Executes a Script?
  • The echo(C) Command
  • Debugging Techniques
  • Lab: Working with Batch Files

Shell Variables

  • User Variables
  • Shell Environmental Variables
  • The read Command
  • Positional Parameters
  • Special Shell Variables
  • Lab: Using Shell Variables


  • Shell Metacharacters
  • Quoting Mechanisms
  • Command Substitution
  • Command Line Parsing Sequence

The eval Command Decision Constructs

  • Exit Codes
  • The test(C) Command
  • The if Statement
  • The case Statement
  • Special Constructs
  • Lab: Decision Constructs

Looping Constructs

  • The expr(C) Command
  • The while Statement
  • The until Statement
  • The for Statement
  • Loop Commands
  • Lab: Shell Functions

Shell Functions

  • Shell Functions
  • Passing Arguments
  • The return Statement
  • Lab: Shell Functions

Shell Signal Handling

  • Asynchronous Events
  • General Signals
  • The trap Command
  • Lab: Shell Signal Handling

Efficiency Consideration

  • The time(C) Command
  • Redefining the PATH Variable
  • Absolute vs. Relative Pathnames
  • Built-in Shell Commands
  • Pipeline Efficiency

Registration Information

For current promotions, schedules, registration, or more information about SCO training and free seminars, call SCO at (800) SCO-UNIX (726-8649).