Course: Shell scripting

About the shell

Operating systems usually have a shell. It is also sometimes called terminal, console or command-line interface. This is usually the simplest available interface to interact with the operating system. It allows commands to be typed and their output to be examined. The interaction with the shell is mainly in text-only mode. A console command-set varies from (very) limited to quite complex, depending on the operating system. Sometimes the shell provides a limited high-level language for combining commands together. This internal language is usually not a full programming language and has its limitations. However, it is quite handy for (quick) task automation. Usually it can be used even for more complex things.

In GNU/Linux distributions, the most widely used shell is Bash. This will be the focus of this course as well.

This course is intended for novice users, who either have very little experience with Bash or none. Still, it might be suitable for more advanced users if they have few gaps that they wish to fill in. However, the topics in the course will probably be boring for more advance users.

Coarse goal

The goal of this course is to provide users with basic skills and Bash scripting understanding.

The knowledge acquired can be used to write Bash scripts and automate tasks. Those skill are useful for daily tasks as well as system administration.

The course will focus on the base principles of creating Bash scripts - structure, limitations, caveats, functions, variables, passing and manipulating data and so on. Those skill can later on be applied at any task.

What you will learn

  1. What is the shell
  2. Standard input, output error. Return codes.
  3. Redirection and pipes
  4. Combining programs on the command line.
  5. Bash scripts.
  6. Variables
  7. Special variables
  8. Logic and loops
  9. Functions
  10. Regular expressions
  11. Common mistakes and issues
  12. Practical experiments with real-life tasks

Are you interested in this or another of our courses?