HP-UX Posix Shell Programming
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.
The delegate will learn and acquire skills as follows:
- Writing simple scripts to enhance basic command output
- Using the various shell quoting mechanisms appropriately
- Manipulating shell variables and user-defined variables in scripts
- Implementing conditional execution facilities
- Using the shell's built-in loop constructs where appropriate
- Writing scripts to trap user interrupts
- User defined Functions
- Developing menu-driven shell scripts
- Backing up and restoring files with tar
- Advanced tar commands
- File compression
- Scheduling background jobs with crontab and at
- Comparing file contents
- Splitting files based on content and context
- Identifying and translating characters
- Use og grep and regular expressions
- Basic and advanced file editing with sed
- Creating AWK program-files and scripts
- Pattern matching with AWK
- AWK variables, operators and arithmetic functions
- AWK program control structures
- AWK functions
- AWK associative and multi-dimensional arrays
- Various miscellaneous commands
Programmers, developers and system administrators who need to construct shell scripts and process text files using advanced text handling facilities.
The HP-UX Posix Shell Programming course assumes knowledge of the HP-UX Operating System to the level covered in the HP-UX Introduction course. Some programming experience may also prove advantageous.
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.
The HP-UX Posix Shell Programming course assumes knowledge of the HP-UX Operating System to the level covered in the HP-UX Introduction course. Some programming experience may also prove advantageous.
This HP-UX Posix Shell Programming course combines the HP-UX Shell Programming and HP-UX Advanced Shell Programming Tools courses. If the dates allocated to this 5-day course are not suitable, then this course can also be booked by selecting dates from both the HP-UX Shell Programming and the HP-UX Advanced Shell Programming Tools courses. The Shell Programming course should be attended first and may start on either a Monday or a Thursday.
- HP-UX Introduction
- HP-UX System Administration
- Oracle SQL
- Course technical content is subject to change without notice.
- Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions
---------------------------------------------------
HP-UX Posix Shell Programming
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
- General commands
- File and directory handling commands
- Filename generation characters
- I/O Redirection features
- Other commands
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: Write a simple shell script
Session 3: USING VARIABLES
- Environment variables
- Local variables
- Assigning values to variables
- Assessing variable values
- Using quotes
- Delimiting variable names
- Echo control sequences
- Exercise: Add variables to a script
Session 4: INTEGER ARITHMETIC
- Using the expr command
- Using the (( )) notation
- Exercises: Add integer arithmetic to a shell script
Session 5: HANDLING RUN TIME DATA
- The read command
- Command line arguments
- Exercise: Writing a generic shell script
- Exercise: Writing an interactive shell script
Session 6: CONDITIONAL EXECUTION
- The if statement
- The test command
- Exercise: Adding validation to previous scripts
Session 7: ADDITIONAL KORN, BASH & POSIX SYNTAX
- Other test notations
- Default and substitute variables
- Exit status codes
- Exercise
Course Contents - DAY 2
Session 8: LOOP CONSTRUCTS
- The while loop
- The until loop
- The for loop
- The while true and until false loops
- Loop control commands
- Exercise: Enhancing the previously written scripts
- Exercise: Writing a script to copy files using a 'for' loop
- Exercise: Writing a script to generate numbers with the 'while' loop
Session 9: MULTI-BRANCH DECISIONS
- The case statement
- Menu driven applications
- Exercise: Developing and writing a menu system
Session 10: FUNCTIONS
- What is a function?
- Syntax
- Examples
- Creating a Function Library
- Exercise: Add a function to a script
Session 11: INTERRUPT HANDLING
- Interrupt signals
- Trapping interrupts
- Exercise: Adding traps to the menu script
Session 12: ADDITIONAL FEATURES AND FACILITIES
- The exec commands
- The includes notation
- More about loops
- Arrays
- Here Documents
- Exercise: Create a here script
Course Contents - DAY 3
Session 13: BACKUP AND RESTORE UTILITIES
- Backing-up and restoring files
- Basic and advanced use of tar
- Compression utilities gzip, bzip2, zip and compress
- Exercise: Backing up and restoring files using tar
- Exercises: Compressing files
Session 14: BACKGROUND JOB SCHEDULING
- Scheduling jobs with the cron command
- Scheduling jobs with the at command
- Exercises: Running background jobs
Session 15: 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 16: SPLITTING FILES
- The split and csplit commands
- Exercises: Splitting files
Course Contents - DAY 4
Session 17: 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 18: REGULAR EXPRESSION NOTATION REVIEW
- Standard regular expressions
- Extended regular expressions
Session 19: THE STREAM EDITOR sed
- sed command line syntax
- sed script files
- sed command processing
- sed addresses and simple instructions
- sed pattern space and hold space
- Grouping sed commands
- Hold and get functions
- Advanced flow control
- Exercises: Text processing with sed
Session 20: FUNDAMENTALS OF AWK
- Basic AWK usage
- AWK program-files
- AWK scripts
- AWK variables
- Pattern matching with AWK
- AWK extended patterns
- AWK operators
- AWK arithmetic operations
- AWK output
- Formatting output with printf
- Exercises: Create awk scripts to extract selected data from a file and generate reports
Course Contents - DAY 5
Session 21: AWK PROGRAM CONTROL STRUCTURES
- The BEGIN and END functions
- The AWK if construct
- The AWK else if construct
- The AWK while construct
- Other program control statements
- The AWK break, continue and exit statements
- User defined functions
- Exercises: Create AWK scripts and program-files utilising program control structures
Session 22: AWK FUNCTIONS
- AWK string functions
- AWK length, tolower, toupper, index, sub, gsub, match, substr, split, sprintf, system and getline functions
- Exercises: Generate AWK scripts and program-files to extract and format data using AWK functions
Session 23: AWK ARRAYS
- AWK associative arrays
- Multi-dimensional arrays
- Exercises: Create AWK associative arrays to process text files and generate reports
Session 24: 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