UNIX Shell Programming for Developers

UNIX Shell Programming for Developers

5 days @ £1,995.00 exc. VAT 

Course Code: SPD

25 Years - The IT Training specialist

Upcoming Scheduled Events - next 12 months

Location Start Date Spaces Book
London 25 Jun 2018 Limited StayAhead - Course Running Book
London 03 Sep 2018 Filling StayAhead - Course Running Book
London 29 Oct 2018 Spaces StayAhead - Course Running Book
London 17 Dec 2018 Spaces StayAhead - Course Running Book
View Further Dates

Location Start Date Spaces Book
London 18 Feb 2019 Spaces StayAhead - Course Running Book
London 29 Apr 2019 Spaces StayAhead - Course Running Book
Virtual Events StayAhead Virtual Courses available You can attend your training virtually using the London dates shown above. Please contact us for more details on our Virtual training options or to discuss specific Virtual course dates to meet your requirements.

S6

UNIX Shell Programming for Developers Course Overview

This Unix Shell Programming training course is designed to give delegates practical experience in developing and writing shell scripts. Most of the built-in unix shell commands are introduced together with the main program control structures. The course also gives practical experience using a range of UNIX tools to manipulate text and incorporate into UNIX 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
  • File compression
  • Scheduling background jobs with crontab and at
  • Comparing file contents
  • Splitting files
  • Identifying and translating characters
  • Review of regular expressions
  • Editing text files with sed
  • Pattern scanning and report generating with awk
  • Debugging awk scripts
  • Miscellaneous commands

Who will the Course Benefit?

Programmers, developers and system administrators who need to construct shell scripts using advanced text handling facilities.

The UNIX Shell Programming for Developers course assumes knowledge of the UNIX Operating System to the level covered in the UNIX Introduction course. Some programming experience may also prove advantageous.

Course Objectives

To provide the skills needed to develop and customise unix shell programs and to make effective use of a wide range of standard UNIX programming and development tools.

Requirements

The UNIX Shell Programming for Developers course assumes knowledge of the UNIX Operating System to the level covered in the UNIX Introduction course. Some programming experience may also prove advantageous.

Pre-Requisite Courses

Follow-On Courses

Notes:
  • 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.

UNIX Shell Programming for Developers Training Course

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

UNIX Shell Programming for Developers Training Course

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

UNIX Shell Programming for Developers Training Course

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

UNIX Shell Programming for Developers Training Course

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

UNIX Shell Programming for Developers Training Course

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
Home Let Us Call You Enquiry

Place A booking





Print Friendly



Course Reviews

Very enjoyable and informative course with an extremely knowledgeable and enthusiastic trainer. All questions answered with real examples which always helps with additional learning methods. Thank you for an enjoyable course.

Frederick - Software Engineer - Outsourcing - March 2018


Mark did a great job at walking through all the different components of the course. He was engaging and very understanding of all the delegates needs.

Bartosz - Finance




Book further course dates
StayAhead Locations

If the course you require is not scheduled at your preferred centre, please contact us on 020 7600 6116 or sales@stayahead.com to enquire if we can accommodate your venue requirements.


Quick Search....


Enquiry
StayAhead Promo 13


Oracle User Group - Membership Benefits

Oracle User Group - Membership Benefits

Course Certification

Our independent Oracle, Solaris & Red Hat Linux curriculums helps prepare delegates for official certification.

See what our clients say . . .

Well paced and informative course. Documentation was excellent, trainer communication was excellent - I've learned more about Linux this week than in the last 5 years.

Jonathan - IT Operations Team Lead - Finance - May 2018

More Reviews

+44 (0)20 7600 6116
Cookies Policy
Copyright © 2018 StayAhead Training Ltd
sales@stayahead.com