Length: 1 day
Description: We've all heard of the shell, and we've all used it at least a little bit. But what IS a shell, really? What makes shell scripting fundamentally different from any other programming language? What really happens when you type a command into your shell--and how does this relate to the mistake found in over 50% of Production shell scripts? Attend this training, demystify the shell and learn to use it right!
Who should attend: Anyone who has heard of a shell. :) (Someone who's coded one from scratch won't get anything out of my course; I hope everyone else will.)
Expected outcomes:
- Participants will understand:
- The shell’s place in the “toolchain” and relationship both to other programming languages, the filesystem, and processes running on the system.
- What happens when the shell parses a typed command or a file (e.g., word splitting, file glob expansion, redirections, etc.).
- Participants will be able to: Write robust, portable, idiomatic shell scripts that do what you intend them to do.
Topics include:
- Filesystems and directory trees
- Processes (process tree, signals, file descriptors)
- What the shell does with a command
- Pipelines and redirection
- Fully understand quoting in the shell
- Text processing with POSIX tools (Make Text Do What You Want)
- Logic and error checking in shell scripts
- Shell variables, environment variables and "the environment"
Student Successes
"Shell Basics: Under the Hood" was eye-opening for someone who uses the shell every day all day. I now have a much better understanding of what is happening when I open up a terminal and type in a command, and it's been very helpful to my work as a software developer. I'm sure people with less experience got a lot out of it, but for more experienced professionals, this training has plenty of insights to offer. Mike speaks with confidence about his topic and is able to tailor the instruction to bring value to a mixed gathering of experienced and starting technology professionals. Highly recommended. |
Mike is an excellent trainer. He is precise and his knowledge of the subject is deep. Mike is the person you want to teach complex topics to complex people.
—Atom Powers