Scripts¶
Learning outcomes
- Practice using the UPPMAX documentation
- Can create a script
- Can make a script executable
- Can run a script
For teachers
Teaching goals are:
- Learners have created a script
- Learners have made a script executable
- Learners have run a script
Lesson plan:
gantt
title Scripts
dateFormat X
axisFormat %s
section First hour
Prior : prior, 0, 5s
Present: present, after prior, 2s
%% It took me 8 mins, here I do that time x2
Challenge: crit, challenge, after present, 16s
%% Here I use the same time it took me to give feedback
Feedback: feedback, after challenge, 8s
Prior questions:
- What is a script?
- Why would you want to use a script?
- How to write a script?
Feedback questions:
- Why would you want to use a script?
- What should you not forget when writing a script?
- Which group of programming languages can you directly call from a script? Could you give an example?
Why?¶
Scripts allow you to run multiple commands after each other, such as loading modules and then running your favorite software.
Exercises¶
Need a video?
See this YouTube video that shows the solution of these exercises
Pelle works the same a Rackham in these contexts.
Exercise 1: write a bash script¶
- Create a file called
do_cowsay.sh
with the content below:
Answer
This is just creating a file, which can be done in many ways,
such as using touch
and nano
. In whatever way you did it,
it's good enough!
- Run the script. Search the web or ask the UPPMAX documentation AI
- Make the script executable Search the web or ask the UPPMAX documentation AI
- Run your (executable) script directly (i.e. without calling
bash
)
- (optional) Why does the script has a
.sh
file extension? Search the web for an answer.
Answer
This is a social convention: it allows a human to see that a file
is a so-called shell script. It is no coincidence that .sh
are the
last two letters of bash
.
(Optional) Exercise 2: write an executable R script¶
- Create a file called
my_r_script.R
with the content below:
Answer
This is just creating a file, which can be done in many ways,
such as using touch
and nano
. In whatever way you did it,
it's good enough!
- Make the script executable
- Run the script. What is the error message?
Answer
This is how to run the script and the error message:
-
At the start of your R script, add
#!/bin/env Rscript
. This is called the 'shebang'. The shebang tellsbash
with which program to run the script when it is executable -
Run the script again and confirm that it works