This document provides an overview of shell scripting. It begins with an agenda that covers introducing UNIX/Linux and shell, basic shell scripting structure, shell programming with variables, operators, and logic structures. It then gives examples of shell scripting applications in research computing and concludes with hands-on exercises. The document discusses the history and architecture of UNIX/Linux, commonly used shells like bash and csh, and why shell scripting is useful for tasks like preparing input files, job monitoring, and output processing. It also covers basic UNIX commands, commenting in scripts, and debugging strategies.