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

  1. Ease the use of the shell and the terminal in general

  2. Stimulate discussion with the audience to collect use cases

  3. 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

Table of Content