Simple Shell Scripting for Scientists: Prerequisites
The following are the prerequisites for the Simple Shell Scripting for Scientists course. If you do not meet these prerequisites then you are likely to find it extremely difficult to follow this course, and we recommend that you do not attend the course until you do satisfy these prerequisites.
You can obtain the necessary knowledge to satisfy all of these prerequisites by attending the Unix: Introduction to the Command Line Interface course. However, if you attend the Unix: Introduction to the Command Line Interface course in order to meet these prerequisites, it is important that you PRACTICE what you have learnt BEFORE attending this course. This is because this course assumes not only that you have the relevant knowledge and skills, but also that you are actively familiar with them.
The Unix: Introduction to the Command Line Interface course doesn't cover every single one of the listed options for the various commands given below. If you have gone on this course to meet the prerequisites, or if you are unfamiliar with Linux systems, you should experiment with all the commands listed below (and, where given, the various options listed for that command) on a PWF Linux system before attending this course.
Familiarity with the Unix/Linux command line and running simple commands
Familiarity with running commands with options (e.g. ls ‑l
)
and combining several command-line options (e.g. ls ‑lR
)
Familiarity with the concept of Unix file permissions
Familiarity with using file name globs/wildcards (e.g. *
,
?
) to specify file names (this is sometimes called file name globbing,
filename expansion or pathname expansion)
Familiarity with piping the output of one command into another (e.g.
ls | more
)
Familiarity with redirecting a command's input (e.g. more < filename
)
and output (e.g. ls > filename
)
Familiarity with running commands in the background (e.g.
ls > filename &
)
Familiarity with the concept of environment variables and with the
simple use of environment variables (e.g. setting the PATH
environment variable; using the export
command under the
bash
shell).
Familiarity with the following Unix/Linux commands and their most common
options:
(Note: the options listed below are for the versions of these
commands
provided by the Bourne-Again SHell (bash),
or, where a command is not provided by the bash
shell,
for the GNU version
of that command. The GNU versions
of the commands below are the versions which are the normally found on
Linux systems. Other versions of these commands (notably those
supplied with Solaris) may not support all these options, or may
behave differently.)
The following are not prerequisites, as they are either explained during the course, or else are somewhat peripheral to it. However, those attending the course will find it helpful if they are already familiar with:
The Bourne-Again SHell (bash), version 2.05 or higher
The concepts of standard input, standard output and standard error
The concept of a program's exit status (also called its exit code, return code, return status, error code, error status, errorlevel or error level)
The concept of a symbolic link
(also known as a symlink or soft link) and the ln
command (which, when used with the ‑s
option,
creates symbolic links)
The mktemp
command,
which is used to safely make a temporary file or directory