Bash Shell Programming

3 day course

Public Class Schedule
Training Classes
Clients and Endorsements
About Consultix
| Description | Audience | Prerequisites | Author | Topics | Other Courses | 

"Bash Shell Programming"  3 days
Next Public Offering: TBD; Help Us Schedule! 
Consider this related course:
"Shell Programming"  3 days
Next Public Offering: TBD; Help Us Schedule! 

Course Description

On Linux systems, the Bash shell are the standard scripting languages. They are used by System Administrators, Network Administrators, Database Administrators, Email Administrators, Security Administrators, Web Administrators, Configuration Administrators, Release Administrators, Programmers, and advanced Users (among others, but you get the idea).

One important role of the Linux shell is to provide a command-line interface to the Linux system. Although this interface was designed for legacy hardware devices such as the DEC VT102 terminal, nowadays it is more commonly used with software emulators such as an xterm window. Why is this kind of "primitive" interface still used? Because unlike graphical user interfaces, the shell's command line provides access to the full richness and power of Linux.

This lecture/lab course shows the student how to customize the shell's configuration and create custom programs (shell scripts) that increase productivity by automating mundane tasks and extending the Linux command set.

The Instructor demonstrates common mistakes and shows how they can be avoided, and explains proper application of the Consultix Shell Quoting Guidelines, whose embodiment of wisdom earned over many decades makes it easy to select the appropriate quoting techniques for commands.

We typically offer this course in the same week as Linux Utilities, so the student can learn the "vocabulary" of Linux shell programming (the utilities) immediately after learning the "grammar" (shell programming).

This course focuses on the Bash shell, but most of the material is also relevant to the Korn shell.

We also have a Korn shell version of this course and a combined Bash & Korn shell version.

Who Should Attend

This course is intended for those who want to
  1. customize the settings of their login shell
    • to enforce their own security, increase their personal efficiency, etc.
  2. write their own custom shell scripts
    • to automate mundane work tasks and extend the Linux command set
  3. better understand shell scripts written by others
    • to become more familiar with what the shell can do
  4. possibly, to maintain, modify, or enhance scripts written by others
    • for their own purposes


Students should be experienced with one of the following text editors: vi, emacs, or pico (or another locally available editor, for on-site classes). Students should also have a familiarity with the hierarchical file system and basic commands such as cd, ls, chmod, & grep. This background can be obtained by attending our UNIX Fundamentals, Linux Fundamentals, or combined UNIX/Linux Fundamentals course (or equivalent).

NOTICE: It's easier to do well in this class if you have some previous programming experience, but logically–minded individuals without such backgrounds can also benefit from attending—especially if they're willing to do some homework between class sessions!

Author & Instructor

Dr. Tim Maher wrote a course on the Bourne shell for AT&T in the early 80s, and taught it for many years to AT&T's customers and employees. Since 1986, Tim has taught shell programming to literally thousands of students and has written many sophisticated applications in shell languages.

For example, in the mid 1980s he created a friendly, menu-oriented user interface to UNIX for undergraduate students at U.C. Berkeley (using more than 8,000 lines of shell code). Later, he developed the first source code beautifiers for the Korn shell, C++, and Perl languages.

In the early 1990s, Tim wrote a Shell script of over 1,000 lines to control machine tools used by Seattle aerospace suppliers in the fabrication of Boeing aircraft parts.

In the late 1990s, he wrote software to manage the terabytes of data uploaded by customers who were using the Netscape Online Backup product.

As a recognized expert on Shell programming and the founder and head of Consultix, Dr. Tim Maher regularly teaches courses on a wide variety of UNIX, Linux, and Perl topics. Consultix instructors are renowned for their ability to communicate complex concepts in simple terms and to make the study of dry technical material enjoyable.


Start-Up Files Shell Variables Argument Handling
I/O Redirection Conditional Execution Looping Constructs
Variable Substitution File-Name Generation Command Substitution
Aliases Built-In Commands Quoting Techniques
The Process Hierarchy Shell Scripts Quoting Guidelines

Other Courses

We have courses on many other Perl, UNIX, and Linux topics!

A former student says:

Read more testimonials and reviews of our courses and instructors.
•  This is one of the best courses I've ever taken. I now feel confident that I can actually do something productive on Linux—rather than just poking around.
Greg Mott, Mfg. Systems Engineer, Kaiser Aluminum Corp.
Attended: Bash Shell Programming & Linux Utilities

© Copyright 1994-2012   Pacific Software Gurus, Inc.   All Rights Reserved.

   Powered by Google