Course Description

During this 4 day intensive training workshop students learn to read, write, and debug shell scripts, thus increasing productivity by taking full advantage of the BashShell. Approximately 70% of this course is spent on varied lab exercises from simple to more complex scripting.



4 days


Target Audience

IT Professionals with a good working knowledge of the Fundamentals of Unix


Course Prerequisites

The skills required for those who wish to attend this course can be learned by attending any of the following GuruTeam courses, or equivalent training programmes.

If you have any questions or doubts as to whether you meet the pre-requisites for this course, or indeed are wondering which course best suits you, please contact us to discuss your suitability for course attendance.


Suggested Follow on Courses

There are a number of options of suitable follow-on courses, depending on your business needs. Please contact us for further details.


Course Content

1. UNIX Processes

  1. What is a Process?
  2. Process Structure
  3. The ps Utility
  4. Options to the ps Utility
  5. Background Commands (&)
  6. Killing Background Processes
  7. Redirecting the Standard Error

2. Getting Started

  1. What is a Shell?
  2. Running Scripts
  3. Specifying the Script’s Interpreter
  4. The PATH Environment Variable
  5. Sub-shells

3. Variables

  1. Shell Variables
  2. The read Command
  3. The export Command
  4. The Shell Environment
  5. Parameter Expansion
  6. Command Substitution

4. The Login Process

  1. The Login Process
  2. The System Profile Script
  3. Your .bash_profile Script
  4. The . Command

5. Conditional Statements

  1. The Exit Status of Commands
  2. Command Line Examples
  3. The test Command
  4. The if-then-else Construct
  5. The elif Construct
  6. case Statements

6. Loops

  1. The for Loop
  2. The while Loop
  3. break and continue
  4. Reading Lines From Files
  5. Using Arrays with Loops

7. Special Variables

  1. $$ – PID of Shell
  2. Command-Line Arguments
  3. $# – Number of Arguments
  4. $* – All Arguments
  5. The shift Command
  6. The set Command
  7. Getting Options

8. Quoting Mechanisms

  1. Single vs. Double Quotes
  2. What is a Here Document?
  3. Using a Here Document
  4. Here Document Quoting
  5. Ignoring Leading Tabs

9. Functions

  1. Shell Functions
  2. Passing Arguments to Functions
  3. Returning Values from Functions
  4. Function Declarations

10. Advanced Programming

  1. Shell Arithmetic
  2. The select Statement
  3. Terminal Independence in Scripts
  4. The eval Command

11. Debugging Techniques

  1. Using echo
  2. Using Standard Error
  3. Script Tracing
  4. Options for Debugging
  5. Conditional Debugging


See more Linux/Unix courses