|
Individuals requiring a mastery of the command line interface to the UNIX operating system. This includes system administrators, programmers, and power users. This course is a follow-on to the Bash Shell Programming introductory course.
Review of Useful Shell Commands
Interactive Uses of the Shell
Advanced I/O Redirection and Here-Documents
Command Line Parsing and Order of Evaluation
Command Line Editing and Command History
Using the Alias and Function Facilities
Using the bind Command for Keystroke Handling
When to Use Single vs. Double Quotes, or None at All
Programming Topics
Command and Variable Substitution
Using eval, Autoload Functions, and the source Command
Arrays and Arithmetic Variables
Testing Files and Strings
Creating and Using Shell Scripts
Program Flow Control
Debugging Shell Scripts (using bashdb)
Using the trap Command (signal handling)
Invocation and Environment
Performance Evaluation and Tuning
Upon completion of this course, the student will be able to write and debug advanced Bash Shell scripts using the following features and more:
Opening files for read, write, and read/write, from within the shell,
Using all forms of parameter expansion for precise control of expressions,
Using associative arrays to increase performance in lookup-intensive scripts,
Using formatted variables to produce specific output layouts, and
Customize the shell for interactive use.
Students are invited to bring their current ideas and questions to the classroom for discussion. Case studies, lecture, group problem solving, and online laboratories will be used. Students will be encouraged to enhance their skills utilizing the techniques presented through classroom problem solving and controlled online workshops.
Familiarity with Unix commands, directory structure, and the text editor. There is no review of basic features of the shell as covered in the Bash Shell Programming introductory course, so students should be moderately well-versed in simple shell scripting.
Programming skills should be fairly well-developed before taking this course, although everything needed to write shell scripts is covered.