Difference between revisions of "Introduction to Linux in HPC/Shell scripting"
Introduction to Linux in HPC/Shell scripting
Jump to navigation
Jump to search
| Line 1: | Line 1: | ||
__TOC__ | __TOC__ | ||
| + | |||
| + | {{Infobox table | ||
| + | | REAL-NAME = HPC.NRW | ||
| + | | image = Hpc.nrw_small.png | ||
| + | | Feldnamehead1 = Other HPC Courses | ||
| + | | Feldname2 = GPU | Daten3 = Introduction to GPU Programming | ||
| + | | Feldname3 = GPROF | Daten4 = [https://hpc-wiki.info/hpc/GPROF_Tutorial Gprof Tutorial] | ||
| + | | Feldnamehead2 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC Introduction to Linux in HPC] | ||
| + | | Feldname5 = 1. | Daten6 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Historical_Background Historical Background] | ||
| + | | Feldname6 = 2. | Daten7 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/The_Command_Line The Command Line] | ||
| + | | Feldname7 = 3. | Daten8 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Directory_structure Directory structure] | ||
| + | | Feldname8 = 4. | Daten9 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Files Files] | ||
| + | | Feldname9 = 5. | Daten10 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Text_display_search Text display search] | ||
| + | | Feldname10 = 6. | Daten11 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Processes_and_permissions Processes and permissions] | ||
| + | | Feldname11 = 7. | Daten12 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/The_vim_text_editor The vim text editor] | ||
| + | | Feldname12 = 8. | Daten13 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Shell_scripting_environment_variables Shell scripting environment variables] | ||
| + | | Feldname13 = 9. | Daten14 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/System_configuration_files System configuration files] | ||
| + | | Feldname14 = 10. | Daten15 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Various_tips Various tips] | ||
| + | | Feldname15= 11. | Daten16 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Beyond_the_cluster Beyond the cluster] | ||
| + | | Feldname16= 12. | Daten17 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Linux_in_HPC Linux in HPC] | ||
| + | | Feldname17= 12. | Daten18 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/SSH_Login SSH Login] | ||
| + | }} | ||
=== Video === <!--T:5--> | === Video === <!--T:5--> | ||
Revision as of 17:28, 21 October 2020
| HPC.NRW | |
|---|---|
| Other HPC Courses | |
| GPU | Introduction to GPU Programming |
| GPROF | Gprof Tutorial |
| Introduction to Linux in HPC | |
| 1. | Historical Background |
| 2. | The Command Line |
| 3. | Directory structure |
| 4. | Files |
| 5. | Text display search |
| 6. | Processes and permissions |
| 7. | The vim text editor |
| 8. | Shell scripting environment variables |
| 9. | System configuration files |
| 10. | Various tips |
| 11. | Beyond the cluster |
| 12. | Linux in HPC |
| 12. | SSH Login
|
Video
Quiz
Which bash command below assigns "value" to variable var?
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 |
