Shell and Job Scripting course notes
This course is intended to teach how to use the bash shell efficiently to researchers using a HPC cluster, with a goal-oriented approach (backward lesson design, popularized by Greg Wilson’s Teaching Tech Together and references therein).
Teaching style: Type along
Some of the content in this lesson is a collection of notions, but the main style of this lesson is practical and following along, trying to type the commands while the instructor does it.
The instructor will follow these notes, so that if you get lost you can get back to it.
Objectives
Ease the use of the shell and the terminal in general
Stimulate discussion with the audience to collect use cases
Show useful patterns to carry out common tasks in (slurm) job scripts
Suggestions welcome!
Suggestions/criticism are welcome, so feel free to open issues and pull requests to this repository (see “Edit on GitHub” icon in the upper right corner).
Setup to follow along and for the exercises
You can clone this repository
git clone https://github.com/mmesiti/shell-job-scripting-scc.git
and use the examples directory to follow along.
The job scripting exercises and their solutions are in the exercises directory.
Sources and Inspiration
The already existing slides and the exercises of the HPC-DIC courses by SCC/SCS at KIT;
The “Shell scripts and tips” course by NRIS;
The linux shell tutorial by Aalto Science IT department (very detailed course, goes deeper than what we are trying to do here);
The software carpentry Shell Novice Lesson;
The Extra Unix Shell Material; from the Carpentries Incubator;
The Bash manual.
Table of Content
Motivation
Intermediate
Advanced