Summary
3 days
Introduction
This workshop is designed for people who need to use, write, and modify shell scripts to automate and to re-define aspects of their computing environment. The workshop examines basic aspects of using and implementing standard UNIX shell programming, with an emphasis on solving practical problems.
Students examine the features and usefulness of UNIX power utilities such as sed, grep, awk, and join. Scripts and utilities are thoroughly explored in laboratory and classroom session leading to mastery of the skills needed to develop practical shell programs.
Students accomplish explicit tasks in a working environment, creating programs, debugging faulty scripts, and working through case studies.
Audience
Users, System and Database Administrators, Network Administrators and Programmers.
Objectives
After completing this course students are able to:
- Create scripts to solve problems and automate tasks
- Declare, change and use shell variables
- Process command line arguments
- Understand how shell interprets the command line
- Make extensive use of the shell control structures
- Customize user-written utilities
- Implement error checking and signal handling
- Debug shell scripts
- Implement structured programming using functions
- Employ the UNIX power utilities (grep, sed, awk, join, etc.)
- Apply advanced concepts (xargs, tput, printf)
Prerequisites
Introduction to UNIX or course UX001 Introduction to UNIX. Specifically, the participant is expected to be able to:
- Create and manage files and directories
- Use the visual editor to create and edit files
- Issue complex shell commands that include | > < * ; & $ characters
- Navigate through the file system
- Modify file and directory permissions
- Use basic utilities such as sort, grep, tr, comm, wc, etc.
- Identify fields in /etc/passwd
- Employ proper quoting when issuing shell commands
- Manage owned processes
Table of Contents:
Chapter 1: Review
Chapter 2: Introduction to Shell Programming
Chapter 3: Variables
Chapter 4: Processes
Chapter 5: Quoting and Special Characters
Chapter 6: Writing Structured Programs Using Functions
Chapter 7: Necessary Tools
Chapter 8: Control Structures
Chapter 9: Execution of Commands
Chapter 10: Signals
Chapter 11: Miscellaneous Utilities
Chapter 12: Character Processing Commands
Appendix A: POSIX Commands
Appendix B: Korn Shell Features
Appendix C: C Shell Features
Appendix D: Job Scheduling using at, batch and cron
Appendix E: Helpful UNIX Books |