shell programming training shell Unix programming programmer shell script script scripting One full day Emphasis on practical skills Hands-on Programmers Software applications developers System administrators Webmasters Power users Tool builders

This course is for Unix users (and users of Unix-like shells on other systems) who want to increase their mastery of this powerful repertory of problem-solving tools and techniques. Shell programming skills enable extraordinary productivity gains.

Its primary goal is to impart the skills needed to use advanced features of the Bourne and Korn shells, in particular their use as a programming language and environment. A C-Shell-oriented version of this course is also available.

Familiarity with the basic concepts of programming is helpful but not required.

In its method, the course's emphasis is on the practical, with the majority of the classroom time devoted to hands-on activity. Attendees largely set their own paces, with the instructor acting mainly as a facilitator.

Historical and theoretical material is kept to a minimum.

Using a computer, including its window system and file system Using a text editor -- it doesn't have to be vi Use grep to search text Use pr to format text Use expr for calculations Use sed to edit text streams Use wc to count and measure Use awk to process records Use various other commands including date, echo, lp, ls, man, more, sort, and wc Exploit powerful shell features: i/o redirection, command substitution, inter-process communication (pipes), file name generation, variable substitution, loops, tests, and branches Create and execute shell scripts Construct complex commands (options, arguments, metacharacters) Match patterns with regular expressions Perform arithmetic operations Use Unix's "man page" documentation Add shell programming to your repertory of problem-solving techniques The course consists of a sequence of examples and hands-on exercises. Each builds on the ones before it. By the end of the course, you have built solutions to significant problems. This is why programmers fall in love with Unix Similar concepts from other environments Command-line editing Text editing Unix's "building blocks" approach Silence is golden What's in a man page How they're organized Why they're effective How to use them Special case: shell built-in commands The ls command and its options File name wildcards: * and ? The cat command Notions of stdin, stdout, stderr The more command The date command Output Redirection Output Redirection with Append The echo command The wc command Command Options Pipes The pr command The lp command The sort command Moving data between files, streams, variables, devices The chmod command The $PATH variable Building a simple bookkeeping system The grep command Extracting text patterns The sed command Stream editing Loops Arithmetic The expr command The awk command Processing fields and records Classroom Overhead projector A PC or workstation for each student Connection to the internet A workbook for each student Travel outside the San Francisco Bay Area requires reimbursement of the instructor's travel expense. 01-Jan-1999