Linux Bash Shell Programming

Length: 5 Days

Prerequisite: Linux Essentials course                     

Recommendation Statement:
You must be familiar with basic UNIX commands, and the Vi or VIM editor. A Linux or UNIX fundamentals course is recommended. It is recommended that the student is proficient in fundamental Linux commands including, but not limited to: rm, cp, man, more, mkdir, ps and chmod.
The student should be able to create and edit text files in a text editor and have a basic understanding of processes and file permissions, and understanding of the relationship between parent and child processes, manipulating files and directories, basic variables, piping and redirection, and the find and grep commands.

Course Description:
A Linux Shell Scripting course that teaches the student to create, interpret and debug Bash and POSIX Korn Shell scripts. You will learn how to assign environment variables, use shell special variables, arrays, argument lists, test conditions, utilize positional parameters and command substitution. You’ll learn how to use shell builtins and conditionals to control your script creating loops, interactive programs, and functions. In addition to shell scripting, you will learn how to enhance your scripts by learning the intricacies of grep, sed, and awk utilizing metacharacters and regular expressions – beyond anything you’ve learned in a Linux fundamentals course. In this course you’ll learn by doing, creating real world scripts that are relevant to current administrative tasks.

Upon completion of this course, you should be able to:

  • Understand the various shells that are available in Linux and you’ll be equipped to make an informed decision on
    which shell to use.
  • Read, write, and debug Bash and Korn shell scripts
  • Use local and environmental variables and shell metacharacters in scripts
  • Use regular expression characters with the grep, sed, and awk utilities
  • Write sed scripts to perform non-interactive editing tasks
  • Write awk scripts to manipulate individual fields within a record and to write reports based upon an input file
  • Use the exit status of a command to determine if the command succeeded or failed
  • Access and process command-line arguments passed into a script
  • Develop messages to display when a script is used incorrectly
  • Use flow control constructs, such as branching and looping
  • Perform string manipulation and integer arithmetic on shell variables