more links and exercises
This commit is contained in:
parent
4719e5d451
commit
0f98886112
|
@ -1116,12 +1116,36 @@ TODO
|
||||||
# Coding challenge - pipe or argument plus action!
|
# Coding challenge - pipe or argument plus action!
|
||||||
|
|
||||||
Can you expand the previous coding challenge, where you perform a conditional logic on the input of the script and actually *use* the incoming data?
|
Can you expand the previous coding challenge, where you perform a conditional logic on the input of the script and actually *use* the incoming data?
|
||||||
|
For example, print a shopping list or make a sum of all items you need to purchase.
|
||||||
|
|
||||||
# Coding challenge - Rename files
|
# Coding challenge - Rename files
|
||||||
|
|
||||||
Rename all files from [this](../assets/simple_sort_01.tar.gz) file with an prefix or postfix.
|
Rename all files from [this](../assets/simple_sort_01.tar.gz) file with an prefix or postfix.
|
||||||
Can you give the files that start with an **uppercase** letter a different pre or postfix?
|
Can you give the files that start with an **uppercase** letter a different pre or postfix?
|
||||||
Can you move the files with lowercase into a different folder?
|
Can you move the files with lowercase into a different folder?
|
||||||
|
If you did it with a prefix, now try with a postfix.
|
||||||
|
|
||||||
|
# Coding challenge - Rename jpeg files
|
||||||
|
|
||||||
|
Download [these](../assets/) files, which are all `jpeg` files.
|
||||||
|
The extensions however are not really uniform.
|
||||||
|
Find the most common extension type and rename all files with that extension.
|
||||||
|
|
||||||
|
# Coding challenge - Remove duplicate files
|
||||||
|
|
||||||
|
Find all duplicate files and move them to a different directory.
|
||||||
|
How certain are you that they are duplicates?
|
||||||
|
|
||||||
|
TODO - shasum exercise
|
||||||
|
|
||||||
|
# Coding challenge - File tree
|
||||||
|
|
||||||
|
Download [this](../assets/) file and use the content of the directory to write me a program that prints the content as a tree structure.
|
||||||
|
You can be *creative* but it's interesting to learn how to perform these action by hand.
|
||||||
|
As an extra challenge I would like you to add different behaviour to the script, depending on the input.
|
||||||
|
For example, if the input file is a `tar.gz` file, the program will automatically uncompress and then show the tree.
|
||||||
|
|
||||||
|
[hint](https://www.shellscript.sh/eg/directories/)
|
||||||
|
|
||||||
# Coding challenge - Guess the number
|
# Coding challenge - Guess the number
|
||||||
|
|
||||||
|
@ -1173,6 +1197,8 @@ done
|
||||||
|
|
||||||
## defining a function
|
## defining a function
|
||||||
|
|
||||||
|
## function arguments
|
||||||
|
|
||||||
## global vs local variable
|
## global vs local variable
|
||||||
|
|
||||||
## return values
|
## return values
|
||||||
|
@ -1181,6 +1207,15 @@ done
|
||||||
|
|
||||||
[Ryan's tutorials](https://ryanstutorials.net/bash-scripting-tutorial/bash-functions.php)
|
[Ryan's tutorials](https://ryanstutorials.net/bash-scripting-tutorial/bash-functions.php)
|
||||||
|
|
||||||
|
# Coding challenge - Student reports
|
||||||
|
|
||||||
|
With the [following](../assets/scores.csv) file write me a program that prints:
|
||||||
|
|
||||||
|
* the total average score for each student
|
||||||
|
* individual scores for each student
|
||||||
|
* list of passed student or list of failed students
|
||||||
|
|
||||||
|
|
||||||
# User Interface - Make your scripts user friendly.
|
# User Interface - Make your scripts user friendly.
|
||||||
|
|
||||||
* `case` for command line arguments
|
* `case` for command line arguments
|
||||||
|
@ -1189,6 +1224,15 @@ done
|
||||||
* [better dialog tutorial](https://linuxcommand.org/lc3_adv_dialog.php)
|
* [better dialog tutorial](https://linuxcommand.org/lc3_adv_dialog.php)
|
||||||
* [Ryan's tutorials](https://ryanstutorials.net/bash-scripting-tutorial/bash-user-interfaces.php)
|
* [Ryan's tutorials](https://ryanstutorials.net/bash-scripting-tutorial/bash-user-interfaces.php)
|
||||||
|
|
||||||
|
# Coding challenge - Address book
|
||||||
|
|
||||||
|
* one file db or folder db
|
||||||
|
* case insensitive search
|
||||||
|
* edit record when found
|
||||||
|
* format cell phone number to standard representation
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
# Arrays in `bash`
|
# Arrays in `bash`
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
|
|
7
links.md
7
links.md
|
@ -9,12 +9,19 @@
|
||||||
* [debian](https://wiki.debian.org/nspawn)
|
* [debian](https://wiki.debian.org/nspawn)
|
||||||
* [arch](https://wiki.archlinux.org/title/systemd-nspawn#Use_a_%22macvlan%22_or_%22ipvlan%22_interface)
|
* [arch](https://wiki.archlinux.org/title/systemd-nspawn#Use_a_%22macvlan%22_or_%22ipvlan%22_interface)
|
||||||
* [systemd-sysext](https://0pointer.net/blog/testing-my-system-code-in-usr-without-modifying-usr.html)
|
* [systemd-sysext](https://0pointer.net/blog/testing-my-system-code-in-usr-without-modifying-usr.html)
|
||||||
|
* show usage of `systemd-run`
|
||||||
|
* exercise on minimal wayland configuration
|
||||||
* [history of command line arguments](https://blog.liw.fi/posts/2022/05/07/unix-cli/)
|
* [history of command line arguments](https://blog.liw.fi/posts/2022/05/07/unix-cli/)
|
||||||
* class on dpkg, apt, and .deb introspection
|
* class on dpkg, apt, and .deb introspection
|
||||||
* class on compiling a simple program, maybe recompiling a kernel
|
* class on compiling a simple program, maybe recompiling a kernel
|
||||||
* exercise on how to take a physical system and convert it to a VM
|
* exercise on how to take a physical system and convert it to a VM
|
||||||
* munin plugin design exercise
|
* munin plugin design exercise
|
||||||
* advanced [bash](https://tldp.org/LDP/abs/html/index.html) scripting
|
* advanced [bash](https://tldp.org/LDP/abs/html/index.html) scripting
|
||||||
|
* make a minimal sway installation usable (wayland focused)
|
||||||
|
* maybe same but with i3
|
||||||
|
* journald-remote exercise with https!
|
||||||
|
* setup automated install of debian
|
||||||
|
* gpg/pass/paper-key tutorial
|
||||||
|
|
||||||
## started
|
## started
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue