999 18th Street, Denver, CO 80202.
Log in Contact Us Now! +1 888 472 7732

POSIX Shell Programming

Course Code: H4322S
Length: 5 days

Schedule and Registration

This course is not currently scheduled.

Course overview

This course covers advanced POSIX shell programming for technical users and system administrators. You will learn the tools necessary to automate complex tasks and increase productivity. The format of your course is 50 percent lecture and 50 percent hands-on. The duration of your course is five days.


  • UNIX Fundamentals (HP 225) or equivalent experience
  • Fundamental knowledge of programming


HP-UX and UNIX general users, system and network administrators, and software developers.

Benefits to you

  • Understand POSIX shell programming and use it to save time with automated scripts
  • Write efficient programs by understanding how shell scripts are processed
  • Customize shell start-up files
  • Easily control your administration tasks

Course outline

Introduction to POSIX shell scripts
  • What is a shell script?
  • Script execution
  • The subprocess environment
  • Shell features
Shell scripting
  • Which shell?
  • Recommended shell format
  • Planning to write a shell script
  • Portability issues
  • Variables
  • Displaying and using variables
  • Concatenation and substrings
  • Other sources of data for variables
User input
  • Reading user input
  • Positional parameters
  • Creating positional parameters
  • Conditional substitution
  • External influences
Designing program output
  • Variable attributes
  • Formatted data
  • Cursor positioning and terminal echo
Shell arithmetic
  • Creating Integer-only Variables
  • Base 10 and Others
  • Working with arithmetic operators and data
Branching and logic testing
  • Logic testing
  • Conditional operators
  • Multi-way branching and the 'case' statement
Shell patterns
  • Basic expressions
  • More complex patterns
  • Pattern combinations
Program loops
  • The 'while' loop
  • The 'until' loop
  • The 'for' loop
  • Breaking out of a loop and continuing
  • The 'select' loop
The 'getopts' Command
  • Processing arguments
  • The getopts and OPTARG variable
  • The OPTIND variable
Array variables
  • Substituting and counting
  • Using integer variables as element numbers
Functions and function libraries
  • Displaying current shell functions
  • Declaring and using functions
  • Variable scope
  • Function libraries and recursion
Managing input and output
  • File descriptors
  • Reading / writing using file descriptors
  • Redirecting, parameter lists and 'here' documents
  • Creating parameter lists from input lines
Traps and signals
  • Common signals
  • The trap and stty commands
Regular expressions
  • Regular expressions
  • Metacharacters
  • The grep command
Introduction to 'awk'
  • Record processing
  • Pattern matching and relational expressions
  • 'awk' variables
Variables, strings and arithmetic operations
  • 'awk' user defined variables
  • Environment variables
  • Arithmetic operations
  • String manipulation
  • Formatted output
  • Command line arguments
'awk' flow control
  • Conditional 'if', while and for loops
  • Arrays
  • 'getline', 'next' and 'exit'
  • Processing arrays
  • Associative arrays
Stream editing with 'sed'
  • Substituting text
  • Deleting and printing lines
  • Reading and writing files
  • Multiple 'sed' editor functions