Shell Basics: Under the Hood

Terminalicon2.png

Understand your primary computer interface.

Email hello@verticalsysadmin.com now to sign up.

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 talk; 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

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, Conference Chair, Cascadia IT Conference 2017