Bash for Archivists

Playing a Bash script as a video file:
ffplay -loop 0 script.txt

 

Two years ago, Reto Kromer prepared a Bash programming course for audio-visual archivists of the SEAPAVAA community, but finally could not hold it, because of health problems. COVID-19 gives us now a good reason to offer an expanded flavour of the course as a series of webinars. Joshua Ng from the Archives New Zealand is co-leading the sessions.

 

  • We believe that the only way to really learn scripting is to write scripts, therefore lessons and hands-on will alternate. The examples are mainly focussed on FFmpeg automation techniques, but also other open-source tools are considered.
  • The webinars are free, but a registration was required … which is now closed.
  • You are very welcome to make a voluntary donation to the “COVID-19 Solidarity Response Fund”, supporting World Health Organisation’s work. Thank you!
  • We will use a Jitsi-based platform. The full link will be provided to the participants in proper time.

Summary


Beginner Level

Anticipated content includes:

  • command-line interface;
  • parsing input and formatting output;
  • flow control: branching with if;
  • variables;
  • functions;
  • data processing.

First Session

On Tuesday 23rd June 2020 from 08:00 to 10:00 CEST (or from 06:00 to 08:00 UTC).

 

Second Session

On Thursday 25th June 2020 from 08:00 to 10:00 CEST (or from 06:00 to 08:00 UTC).

 


Intermediate Level

Anticipated content includes:

  • customising your environment;
  • flow control: looping with while and until;
  • arrays;
  • file processing;
  • flow control: branching with case;
  • process handling, redirections.

Third Session

On Tuesday 30th June 2020 from 08:00 to 10:00 CEST (or from 06:00 to 08:00 UTC).

Fourth Session

On Thursday 2nd July 2020 from 08:00 to 10:00 CEST (or from 06:00 to 08:00 UTC).


Advanced Level

Anticipated content includes:

  • debugging techniques;
  • flow control: looping with for;
  • regular expressions;
  • command substitution;
  • flow control: branching with select;
  • asynchronous execution.

Fifth Session

On Tuesday 7th July 2020 from 08:00 to 10:00 CEST (or from 06:00 to 08:00 UTC).

Sixth Session

On Thursday 9th July 2020 from 08:00 to 10:00 CEST (or from 06:00 to 08:00 UTC).


Bibliography

From AV Preservation by reto.ch:

 

From the “Linux Documentation Project Guides”:

  • Mendel Cooper: Advanced Bash-Scripting Guide, version 10, 2014-03-10 (HTML and PDF)
  • Machtelt Garrels: Bash Guide for Beginners, version 1.11, 2008-12-27 (HTML and PDF)
  • Gareth Anderson: GNU/Linux Command-Line Tools Summary, version 1.2, 2006-04-15 (HTML and PDF)

 

Using Bash in AV archives:

 

Other resources:

For macOS users


2024-12-05