
HP-UX Posix Shell Programming
Overview
This Hewlett Packard HP-UX Posix Shell Programming training course is designed to give delegates practical experience in developing and writing shell scripts. Most of the built-in shell commands are introduced together with the main program control structures.
The course also gives practical experience using a range of HP-UX tools to manipulate text and incorporate into HP-UX shell scripts.
Objectives
To provide the skills needed to develop and customise shell programs and to make effective use of a wide range of standard HP-UX programming and development tools.
Outline
Course Contents - DAY 1
Course Introduction
- Administration and Course Materials
- Course Structure and Agenda
- Delegate and Trainer Introductions
Session 1: UNIX COMMAND REVIEW
- Basic UNIX commands
- Filename generation characters
- Redirection and pipes
Session 2: GETTING STARTED
- What is a shell script?
- Development guidelines
- Creating and editing shell scripts
- Naming and storing shell scripts
- Executing shell scripts
- Exercise: Create and run a simple shellscript
Session 3: USING VARIABLES
- Environment variables
- Local variables
- Assigning values to variables
- Accessing variable values
- Using quotes
- Delimiting variable names
- echo control sequences
- Exercises: Use variables in shellscripts
Session 4: INTEGER ARITHMETIC
- Using the expr command
- Using the (( )) notation
- Exercises: Use integer arithmetic in shellscripts
Session 5: HANDLING RUN TIME INPUT
- The read command
- Command line arguments and related variables
- Exercise: Writing an interactive shell script
Session 6: CONDITION TESTING
- The if-then-elif-else statement
- String tests
- Integer tests
- Filename tests
- Other test notations
- Default and substitute variables
- Exit status codes
- Counting characters
- Testing for numeric input
- Exercise: Add validation to previous scripts
Course Contents - DAY 2
Session 7: LOOP CONSTRUCTS
- The while loop
- The until loop
- The while true and until false loops
- The for loop
- Loop control commands
- Exercises: Enhance the previously written scripts with loop constructs
Session 8: MULTI-BRANCH DECISIONS
- The case statement
- Patterns and actions
- Menu driven applications
- Exercise: Develop and write a menu system
Session 9: FUNCTIONS
- What is a function?
- Function syntax
- Exercises: Create and use functions
Session 10: INTERRUPT HANDLING
- Interrupt signals
- The trap command
- Abnormal termination of scripts
- Exercise: Adding traps to the menu script
Session 11: ADDITIONAL FEATURES
- The exec command
- The includes notation
- Arrays
- Here Documents
- Exercise: Enhance scripts
Course Contents - DAY 3
Session 12: BACKUP AND RESTORE UTILITIES
- The tar command
- Compression utilities gzip, bzip2, zip and compress
- Exercise: Backing up and restoring files using tar
- Exercises: Compressing files
Session 13: BACKGROUND JOB SCHEDULING
- Scheduling jobs with the cron command
- Scheduling jobs with the at command
- Exercises: Running background jobs
Session 14: COMMANDS FOR COMPARING FILES
- Compare two files with the cmp command
- Compare two files with the comm command
- Compare two files with the diff and sdiff commands
- Compare large files with the bdiff command
- Exercises: Identifying file differences
Session 15: SPLITTING FILES
- The split and csplit commands
- Exercises: Splitting files
Course Contents - DAY 4
Session 16: IDENTIFYING AND TRANSLATING CHARACTERS
- od - octal dump
- Use cat to display non-printing characters
- The expand and unexpand commands to convert between tab and space characters
- The tr command for character translation
- Exercises: Translating characters with tr
Session 17: REGULAR EXPRESSION NOTATION REVIEW
- Standard regular expressions
- Extended regular expressions
Session 18 THE STREAM EDITOR - sed
- sed command line syntax
- sed command processing
- Pattern space
- sed addresses
- sed commands
- Hold and get functions
- Advanced flow control
- Exercises: Text processing with sed
Session 19: INTRODUCTION TO THE PATTERN SCANNING UTILITY - awk
- Introduction and command line syntax
- The awk program structure
- Operators
- Simple patterns
- Extended patterns
- Special patterns (BEGIN and END)
- Program variables: Built-in variables, User defined variables, Arrays
- Mathematical operators
- Displaying output with print and printf
- Exercises: Create awk scripts to extract selected data from a file and generate reports
Course Contents - DAY 5
Session 20: awk PROGRAM CONTROL STRUCTURES
- Program control structures
- The if construct
- The while and do ... while constructs
- The basic for construct
- Associative array handling
- Functions: Mathematical and string functions, The system function, The getline function, User defined functions
- Exercises: Create an awk script using an program control structures and arrays
Session 21: awk DEBUGGING AWK SCRIPTS
- Responding to Syntax errors
- Responding to Logical errors
Session 22: MISCELLANEOUS TOOLS
- bc (calculator)
- fuser (testing for files in use)
- getops (checking options passed to shell scripts)
- printf (formatting screen output)
- logger (script logging)
- xargs (generating arguments for a command)
- eval (re-evaluating variables)
- Exercises: Using tools within a shell script