Call for Latest Dates
Call us on 0870 7777 388 for availability on this course.
Have questions or need a better city/date? Ask now.
|
Course Overview Regular users of UNIX know that using advanced commands, shell features and shell scripts, improves efficiency and productivity as well as enhancing their use of Unix. Most users discover these capabilities in an ad-hoc and inefficient way, learning by trial and error and without understanding the concepts behind the features they use. This course focuses on the capabilities of the UNIX shell and the utilities commonly used in the development of shell scripts, interpreted programs. The course is run using the Korn shell, a superset of the original UNIX Bourne shell, which is rapidly becoming the shell of choice for most users. Korn-only features are highlighted at each stage, making this course suitable for users of either shell. Having said that, those that use BASH (typically on Linux) should consider attending the (QALXBASH) Mastering BASH scripting course instead. The course concentrates on the common approach to the variants of UNIX while looking at some specific areas of various systems and shells, and is particularly suitable for companies which take a multi-vendor open systems view, and is applicable to all flavours of Unix including Linux, HP-UX, UnixWare, Solaris, AIX, etc. The platform used for practical exercises is Linux. All lectures have an accompanying practical session relating not only to the newly-covered material, but building on material and solutions from earlier sessions allowing realistic examples to be considered. The practical sessions account for approximately half of the course time. Hard copy and on-line solutions to all exercises are provided. Practical exercise component includes an optional project, which implements a solution for automated data backup over a network. Full solution to this project is also provided. Course Outline Introduction - What is a shell?: Types of shell
Review - Redirection and pipes
- Wildcards
- Creating shell scripts
- The .profile file
- Grouping commands and background execution
Overview - Tilde expansion
- The whence command
- Quoting
- Using aliases
- The ENV file
- Here documents
- Job control
Variables - Setting and getting variables
- Using ${} and $()
- Exported, read only and predefined variables
- Length of variables
Parameters - Positional parameters
- Counting parameters
- Using shift
- Parameters and set
Making Decisions - Exit status
- If-then
- If-then-else
- If-then-elif-then-else
- Tests
- The case statement
- Logical tests
- More pattern matching
Loops - The while and until loops
- The for loop
- Break and continue
- The select command
- I/O redirection and loops
- The getopts command
Arithmetic in the Shell - Declaring integer variables
- Operators
- The let keyword
- Making arithmetic tests
- Using other bases
Functions - Writing functions
- Return values from functions
- Autoload
- Local versus global variables
- Listing and removing functions
Debugging in the Shell - Setting the xtrace option
- The trace prompt
- Tracing functions
- Traps
Handling Arrays - Accessing elements
- Setting elements
- Counting the elements in an array
Professional Scripts - Organising project files
- Enhancing script behaviour with getopts
More Complicated I/O - Putting files onto file descriptors
- Read and print revisited
- Co-processes
Introduction to sed and awk - Simple instructions
- Script files
- Regular expressions
- Addressing in sed
- Grouping commands in sed
- The main awk loop
- Referencing fields
- Predefined awk values
- Variables, operators
How to make a booking for the SS4 course
|