Course Icon SOLARIS Training

Solaris Korn Shell Programming

0800 1337 401

Overview

This Solaris Korn 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 Solaris tools to manipulate text and incorporate into Solaris shell scripts.

Prerequisites

The Solaris Korn Shell Programming course assumes knowledge of the Solaris Operating System to the level covered in the Solaris Introduction Course. Some programming experience may also prove advantageous.

Objectives

To provide the skills needed to develop and customise shell programs and to make effective use of a wide range of standard Solaris 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
See all of the available Technical Courses