Difference between revisions of "Introduction to Linux in HPC/Shell scripting"
Introduction to Linux in HPC/Shell scripting
Jump to navigation
Jump to search
(Created page with "__TOC__ === Video === <!--T:5--> <youtube width="600" height="400" right>IfD9IPixgpo</youtube> [https://git-ce.rwth-aachen.de/hpc.nrw/ap2/tutorials/linux/-/blob/master/Slid...") |
|||
Line 59: | Line 59: | ||
+ var="value" | + var="value" | ||
|| Explanation: The space character in bash is important. To assign value to a variable, there must not be any space characters in the assignment. Therefore, A is correct. B results in a bash syntax error. C assigns the value =value to variable var. The first = sign means assignment. The second = sign is part of the value. The two double-quotes around value state that value is a character string. | || Explanation: The space character in bash is important. To assign value to a variable, there must not be any space characters in the assignment. Therefore, A is correct. B results in a bash syntax error. C assigns the value =value to variable var. The first = sign means assignment. The second = sign is part of the value. The two double-quotes around value state that value is a character string. | ||
− | - var="value" | + | - var = "value" |
|| | || | ||
- var=="value" | - var=="value" | ||
Line 70: | Line 70: | ||
{{Warning|mode=warn|text= '''no warnings in this section'''}} | {{Warning|mode=warn|text= '''no warnings in this section'''}} | ||
− | |||
=== Exercises in Terminal (slides 115 - 116) and solution (slide 117) === <!--T:5--> | === Exercises in Terminal (slides 115 - 116) and solution (slide 117) === <!--T:5--> |
Revision as of 10:05, 2 October 2020
Video
Linux Introduction Slides 102 - 114 (13 pages)
Slide Layout
page 1: Linux shell script is a text file containing a series of commands. Advantage: automate tasks. Execute a shell script is like a program. page 2: How to execute a shell script? Safety feature: not everyone can run everything. Script needs execute permissions. page 3 - 8: animation for example shell script shebang comment echo list of commands line break page 9: Command line arguments for shell script Loops and if statements in shell script page 10: What shell script is good for? What shell script is not good for? Alternatives to bash. page 11: How to define a bash variable? How to use a defined bash variable? page 12: Environment variables are defined and available for a process or a shell. Example: $HOME Advantage: different computers may set up different values for an environment variable. page 13: Predefined environment variables: $USER etc. env command export command to define your own environment variables.
Quiz
Which bash command below assigns "value" to variable var?
Info: | no tips in this section |
Warning: | no warnings in this section |
Exercises in Terminal (slides 115 - 116) and solution (slide 117)
1. a. Write a script that b. Prints an environment variable c. Saves the output of the date command to a variable d. Sleeps briefly e. Prints the new and old date and time
Answer: |
One possible way to write the script is #!/bin/bash
echo "I am $USER, my home directory is $HOME"
olddate=$(date)
sleep 10s
echo "old date: ${olddate}"
echo "new date: $(date)"
Explanation: |
2. Find a way to execute a script without setting execute permissions.
Answer: | |
bash script.sh
|
Explanation: bash will be used as an interpreter to execute script.sh and the commands contained in script.sh will be executed sequentially.
|
3. Find out how to do other programming things in bash
(e.g. functions, classes). How convenient do they look?
Answer: |
To define a function function hello {
echo "hello, world"
}
To use this function in
hello
|
4. Look at different ways you can define if
conditions.
Answer: |
Both single square brackets str="a b"
The
if [[ $str = "a b" ]]; then
echo "it works"
fi
However, the
if [ $str = "a b" ]; then
echo "it works"
fi
To have the correct syntax for if [ "$str" = "a b" ]; then
echo "it works"
fi
|
5. Find out what different types of quotes (single'
vs. double"
) do?
Answer: |
single quote
var=abc
echo '$var'
This script prints the literal string var=abc
echo "$var"
This script prints the value of |
6. create an shell variable MYIDENTITY and export it as below:
$ export MYIDENTITY=whoami
How will you list the shell variable MYIDENTITY?
Execute the shell variable MYIDENTITY, what is the output?
Answer: |
you can list the variable by using the echo command as follows $ echo $MYIDENTITY
whoami
The arguments passed to echo are printed to the standard output. $ $MYIDENTITY
username
The shell variable upon execution runs the command |