Unix shells such as Bash or Zsh are command line interpreters for Unix-like operating systems: the user enters commands as text—interactively in a terminal or in scripts—and the shell passes them to the operating system.
Giving instructions to the machine via text instead of using a graphical user interface (GUI) is very powerful:
Automating tasks performed via GUI interfaces is something that AI agents are now—tentatively—becoming able to do, but for repetitive tasks that can be completed via the command line, automation has been easy to do for decades.
Commands can be written to scripts which allows for the creation of reproducible workflows.
Finally, Unix shells allow to securely access remote machines and supercomputers.
This course is a hands-on introduction to Bash and Zsh. It will teach you to log in to the Alliance supercomputers and covers common commands, loops, redirections, functions, wildcards, aliases, and scripting.
