more links and exercises

This commit is contained in:
waldek 2022-05-24 15:14:14 +02:00
parent 4719e5d451
commit 0f98886112
2 changed files with 51 additions and 0 deletions

View File

@ -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

View File

@ -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