O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Robust Shell Scripting

Video Description

Doing any kind of serious work on a UNIX or Linux system requires a confident understanding of shell scripting. Unfortunately, many people fear the command line and just don't know where to start.

Designed for developers and system administrators with basic UNIX or Linux skills, this course gives you the fundamentals and then moves you beyond them, teaching you how to write production-level scripts with the POSIX shell.

  • Master the POSIX shell, learn how it works, and know why it works
  • Understand the UNIX Toolbox utilities
  • Learn the shell's syntax and its control structures
  • Discover the shell's built-in facilities such as variable, command, and arithmetic substitutions
  • See how the shell finds built-in commands, functions, and external commands
  • Understand and be able to use basic and extended regular expressions
  • Learn how to save time by hooking components together in pipelines
Arnold Robbins is a professional software engineer who has worked with UNIX systems since 1980. The author of more than a dozen O'Reilly titles, including "Linux in a Nutshell", "Effective awk Programming", and the "Bash Pocket Reference", Arnold is a master communicator who holds a BA in Information Science from Yeshiva University and an MS in Computer and Information Science from Georgia Tech.

Table of Contents

  1. Introduction
    1. Course Introduction 00:06:50
    2. About The Author 00:02:56
    3. How To Access Your Working Files 00:01:15
  2. Getting Started
    1. A Little Bit Of History 00:10:51
    2. The Software Tools Philosophy Part - 1 00:06:16
    3. The Software Tools Philosophy Part - 2 00:05:20
    4. Self-Contained Scripts: Using #! 00:06:29
  3. Shell Language Basics
    1. Variables And Simple Output 00:07:56
    2. Accessing Script Arguments 00:06:11
    3. Quoting And Execution Tracing 00:07:22
    4. Redirection And Special Files Part - 1 00:06:09
    5. Redirection And Special Files Part - 2 00:08:20
    6. Command Types; Command And Directory Searching 00:09:48
  4. Simple Things To Do With Text
    1. Simple Text Processing Utilities 00:07:58
    2. Simple Text Processing Utilities - Demo 00:06:40
  5. Searching For Text
    1. Introduction To Regular Expressions 00:07:38
    2. Basic Regular Expressions - The Components Part - 1 00:06:12
    3. Basic Regular Expressions Live Demo Part - 1 00:05:00
    4. Basic Regular Expressions - The Components Part - 2 00:07:15
    5. Basic Regular Expressions Live Demo Part - 2 00:06:35
    6. Extended Regular Expressions - The Components 00:07:02
    7. Extended Regular Expressions Live Demo 00:05:41
  6. Substituting Text
    1. Basic Operation Of Sed 00:08:35
    2. Substitutions With Sed - Live Demo 00:06:24
  7. Filename Expansions - Globbing
    1. Tilde Expansion, Wildcarding And Hidden Files 00:05:44
    2. Extended Pattern Matching In Bash And ksh93 00:06:17
  8. Working With Fields
    1. Cut And Join 00:07:06
    2. Rearranging Fields With Awk 00:08:23
    3. Rearranging Fields With Awk - Live Demo 00:05:33
  9. Sorting Text
    1. Sorting Text 00:08:23
    2. Sorting Text - Live Demo 00:05:30
    3. Processing Duplicates With Uniq 00:04:23
  10. Pipelines Can Do Amazing Things
    1. Tag Lists 00:07:47
  11. Variables And Arithmetic
    1. Variable Assignment And The Environment 00:07:46
    2. Variables Assignment And The Environment - Live Demo 00:05:02
    3. Parameter Expansions 00:07:17
    4. Parameter Expansions - Live Demo 00:05:04
    5. Arithmetic Expansion 00:06:29
  12. Exit Status And Decision Making
    1. Exit Status Values And if-elif-else-fi 00:07:44
    2. The Test Command 00:06:51
    3. Using if And Test - Demo 00:09:28
    4. Extended Test Command 00:05:16
    5. The Case Statement 00:07:46
  13. Looping
    1. Looping 00:09:28
    2. Working With Loops: Break, Continue, And Shift 00:06:56
    3. Select Loops 00:06:28
  14. Input/Output
    1. Reading Lines With Read 00:08:38
    2. Redirection, File Descriptor Management, And Exec 00:10:44
  15. Command And Process Substitution
    1. Command Substitution 00:03:51
    2. Command Substitution - Demo 00:05:37
    3. Process Substitution 00:05:38
  16. Evaluation Order, Subshells And Shell Functions
    1. Evaluation Order And eval 00:07:28
    2. Evaluation Order And eval - Demo 00:06:06
    3. Subshells And Code Blocks 00:06:23
    4. Shell Functions 00:12:55
  17. Handling Signals
    1. Managing Signals With Kill And Trap 00:13:20
  18. Working With Files
    1. Working With Files And Directories 00:12:56
    2. File Comparison And Working With Temporary Files 00:08:41
    3. Finding And Processing Files 00:10:01
    4. Finding And Processing Files - Demo 00:04:44
  19. Loose Ends
    1. Loose Ends 00:10:42
    2. General Takeaways 00:03:14
  20. Conclusion
    1. Robust Shell Scripting - Conclusion 00:04:01