Course Code: ulshscr
Duration: 14 hours
Prerequisites:

The course is only suitable for those who have a good working knowledge of UNIX or have attended the Introduction to UNIX course.

Overview:

This 2 day course gives an introduction to the writing of UNIX Shell scripts using the Korn and Bash shells and to the more advanced features of UNIX including the batch editor sed and the text file processing language awk.

Although based on the Solaris version of UNIX running on a desktop PC, the principles learnt may be applied to all other versions of UNIX including Linux, AIX, HP-UX and SCO.

The course takes the format of a workshop, with a mix of lecture, working examples and practical exercises. Although the content may be customised, at least 1 day is normally needed to cover the core elements.

Full course notes are provided along with sample script files and free software tools for use in accessing a UNIX server.

Course Outline:

Introduction

  • Objectives
  • Course Schedule
  • Course Introductions
  • Pre-requisites
  • Bibliography
  • Delegate Responsibilities
  • Course Summary

Review of Basics - optional

  • Files
  • Directories and Processes
  • Displaying Directories - ls
  • Getting Help - man
  • Displaying Files - cat, more
  • Simple Commands
  • Piping - using | symbol
  • Redirection - using > symbol
  • Redirection - using >> symbol
  • Redirecting Input - using < symbol
  • Redirecting Errors
  • Using /dev/null
  • Foreground Jobs
  • Background Jobs - &
  • Stopping Jobs - kill
  • Special Files - . and ..
  • The Command Prompt - PS1
  • Creating Aliases
  • Using Aliases
  • Command history
  • Command Line Edit - using Arrow Keys
  • Command Line Edit - using vi
  • Customising the Shell
  • The Home Directory - HOME
  • The Working Directory - pwd
  • Changing Directories - cd
  • Make Directory - mkdir
  • Remove Directory - rmdir
  • Interactive Copy - cp -i
  • Interactive Move - mv -i
  • Interactive Remove - rm -i
  • Removing Directories - rm -r
  • Wild Cards - File Name Generation
  • Word count - wc
  • Finding Files - find
  • Finding Text in Files - grep, sort, cut, uniq, tr
  • Changing Permissions - chmod

Shell Programming

  • Creating Shell Scripts
  • Testing the Command
  • Creating the Script File
  • Adding Execute Permissions
  • Testing the Script
  • Running the Script - time
  • Running the Script - dot
  • Running the Script - exec
  • Running the Script - ksh
  • Debugging the Script
  • Passing Parameters
  • The read Command
  • Using read in Scripts
  • Choosing the Shell
  • Tidying The Output
  • Suppressing Input - stty

Special Characters and Variables

  • Quotation Marks
  • Quoted Strings - ", '
  • Escape Character - *
  • Quoted Strings - `
  • Using $(...)
  • System Variables - set
  • Other Special Variables
  • User Variables
  • User Variables - unset
  • Variables in Scripts
  • Typeset Command
  • Integer Variables
  • Special Constructs

Creating Menus

  • Conditions - case
  • Creating a Menu
  • Iteration - while, until
  • Holding the Output - sleep
  • Holding the Output - dummy read
  • Ending the Script
  • Ending the Loop
  • Hidden Option - forking a shell
  • Trapping Interrupts - trap
  • More on Interrupts
  • Highlighting Text- tput
  • Positioning the Cursor - backtab \b
  • Korn Shell Menu

Selection

  • Conditional Testing
  • Testing File Attributes
  • Testing File Permissions
  • Multiple Tests - Nested ifs
  • Multiple Tests - elseif
  • The NOT Condition
  • Multiple Conditions in One Test
  • Testing Strings
  • Using Square Brackets
  • Avoiding Null Input
  • Testing Numbers
  • More on case
  • Displaying Variables
  • Placing Spaces
  • Testing Commands

Iteration, Looping

  • Computations - let
  • Iteration - while, until
  • Infinite Loop
  • Iteration - for
  • More than 9 Parameters - shift

Sub-scripts and Functions

  • Local and Global Variables
  • Sub-scripts
  • Export Command
  • Exit Status
  • Aliases
  • Functions
  • Useful Functions
  • Return Status
  • Manipulating Functions
  • Functions in Scripts

Advanced Commands

  • Debugging - set
  • Setting - set
  • Merging Files - join
  • Merging Files - paste, basename and dirname
  • Job Control - jobs
  • Regular Expressions
  • Global Regular Expression Printer - grep
  • Expression grep - egrep
  • Fast grep - fgrep
  • Computations - expr
  • Computations – bc, eval Command,
  • Argument Processing
  • getopts Command
  • Using Arrays

Advanced Edit – vi & sed

  • vi - Mapping Key Combinations
  • Mapping Control Keys
  • Using Abbreviations
  • Editing Many Files
  • Regular Expressions
  • Global Insert
  • Here document,
  • Batch Stream Editor - sed, sed delete, -d, sed print, -p, sed suppress, -n, sed quit, -q, sed file, -f, sed Multiple Input, sed
  • Find and Replace
  • sed Example

Text File Processing - awk

  • The awk Programming Tool
  • Pattern Matching
  • Regular Expressions
  • Comparison Patterns
  • Compound Patterns
  • Range Patterns
  • Special Patterns
  • Built-in Functions
  • Troubleshooting awk Scripts
  • Passing Parameters
  • Using Contains
  • printf Function
  • Computations
  • Functions
  • substr
  • length
  • Action Statements
  • Control Flow Statements
  • Arrays
  • Arrays with for Loops
  • awk Examples
Sites Published:

United Arab Emirates - UNIX/Linux Shell Scripting

Qatar - UNIX/Linux Shell Scripting

Egypt - UNIX/Linux Shell Scripting

Saudi Arabia - UNIX/Linux Shell Scripting

South Africa - UNIX/Linux Shell Scripting

Brasil - UNIX / Linux Shell Scripting

Canada - UNIX/Linux Shell Scripting

中国 - UNIX/Linux Shell Scripting

香港 - UNIX/Linux Shell Scripting

澳門 - UNIX/Linux Shell Scripting

台灣 - UNIX/Linux Shell Scripting

USA - UNIX/Linux Shell Scripting

Österreich - UNIX/Linux Shell Scripting

Schweiz - UNIX/Linux Shell Scripting

Deutschland - UNIX/Linux Shell Scripting

Czech Republic - UNIX/Linux Shell Scripting

Denmark - UNIX/Linux Shell Scripting

Estonia - UNIX/Linux Shell Scripting

Finland - UNIX/Linux Shell Scripting

Greece - UNIX/Linux Shell Scripting

Ireland - UNIX/Linux Shell Scripting

Luxembourg - UNIX/Linux Shell Scripting

Latvia - UNIX/Linux Shell Scripting

España - UNIX/Linux Shell Scripting

Italia - UNIX/Linux Shell Scripting

Lithuania - UNIX/Linux Shell Scripting

Nederland - UNIX/Linux Shell Scripting

Norway - UNIX/Linux Shell Scripting

Portugal - UNIX / Linux Shell Scripting

Sverige - UNIX/Linux Shell Scripting

Türkiye - UNIX/Linux Shell Scripting

Malta - UNIX/Linux Shell Scripting

Belgique - UNIX/Linux Shell Scripting

France - UNIX/Linux Shell Scripting

日本 - UNIX/Linux Shell Scripting

Australia - UNIX/Linux Shell Scripting

Malaysia - UNIX/Linux Shell Scripting

New Zealand - UNIX/Linux Shell Scripting

Philippines - UNIX/Linux Shell Scripting

Singapore - UNIX/Linux Shell Scripting

Thailand - UNIX/Linux Shell Scripting

Vietnam - UNIX/Linux Shell Scripting

India - UNIX/Linux Shell Scripting

Argentina - UNIX/Linux Shell Scripting

Chile - UNIX/Linux Shell Scripting

Costa Rica - UNIX/Linux Shell Scripting

Ecuador - UNIX/Linux Shell Scripting

Guatemala - UNIX/Linux Shell Scripting

Colombia - UNIX/Linux Shell Scripting

México - UNIX/Linux Shell Scripting

Panama - UNIX/Linux Shell Scripting

Peru - UNIX/Linux Shell Scripting

Uruguay - UNIX/Linux Shell Scripting

Venezuela - UNIX/Linux Shell Scripting

Polska - UNIX/Linux Shell Scripting

United Kingdom - UNIX/Linux Shell Scripting

South Korea - UNIX/Linux Shell Scripting

Pakistan - UNIX/Linux Shell Scripting

Sri Lanka - UNIX/Linux Shell Scripting

Bolivia - UNIX/Linux Shell Scripting

Indonesia - UNIX/Linux Shell Scripting

Kazakhstan - UNIX/Linux Shell Scripting

Morocco - UNIX/Linux Shell Scripting

Tunisia - UNIX/Linux Shell Scripting

Kuwait - UNIX/Linux Shell Scripting

Oman - UNIX/Linux Shell Scripting

Slovakia - UNIX/Linux Shell Scripting

Kenya - UNIX/Linux Shell Scripting

Nigeria - UNIX/Linux Shell Scripting

Botswana - UNIX/Linux Shell Scripting

Slovenia - UNIX/Linux Shell Scripting

Croatia - UNIX/Linux Shell Scripting

Serbia - UNIX/Linux Shell Scripting

Bhutan - UNIX/Linux Shell Scripting

Nepal - UNIX/Linux Shell Scripting

Uzbekistan - UNIX/Linux Shell Scripting