Aufgaben Bash function: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 3: | Zeile 3: | ||
* Erstellen Sie eine Funktion ''my-ips'' in ihrer .bashrc, die alle konfigurierten IPv4 Adressen ohne Netzmaske anzeigt | * Erstellen Sie eine Funktion ''my-ips'' in ihrer .bashrc, die alle konfigurierten IPv4 Adressen ohne Netzmaske anzeigt | ||
| − | * '''vim ~/.bashrc''' | + | <!-- * '''vim ~/.bashrc''' --> |
| − | <syntaxhighlight lang=bash> | + | <!-- <syntaxhighlight lang=bash> --> |
| − | ... | + | <!-- ... --> |
| − | function my-ips() { | + | <!-- function my-ips() { --> |
| − | ip a | grep "^\s*inet " | tr -s " " | cut -d " " -f 3 | cut -d "/" -f 1 | + | <!-- ip a | grep "^\s*inet " | tr -s " " | cut -d " " -f 3 | cut -d "/" -f 1 --> |
| − | } | + | <!-- } --> |
| − | ... | + | <!-- ... --> |
| − | </syntaxhighlight> | + | <!-- </syntaxhighlight> --> |
| − | * '''source ~/.bashrc''' | + | <!-- * '''source ~/.bashrc''' --> |
= Aufgabe 2 = | = Aufgabe 2 = | ||
| Zeile 17: | Zeile 17: | ||
* Stellen Sie diese Funktion anderen Skripten zur Verfügung, indem sie mit '''export -f ''name-der-funktion''''' arbeiten | * Stellen Sie diese Funktion anderen Skripten zur Verfügung, indem sie mit '''export -f ''name-der-funktion''''' arbeiten | ||
* Testen Sie die Funktion in einem separaten Skript | * Testen Sie die Funktion in einem separaten Skript | ||
| − | * Überlegen Sie sich wie man solche Funktionen am besten organsiert; Wo würden Sie solche | + | * Überlegen Sie sich wie man solche Funktionen am besten organsiert; Wo würden Sie solche Funktionen zentral definieren? |
| − | * '''vim test.sh''' | + | <!-- * '''vim test.sh''' --> |
| − | my-ips | + | <!-- my-ips --> |
| − | * '''bash test.sh''' | + | <!-- * '''bash test.sh''' --> |
| − | bash: my-ip: Kommando nicht gefunden. | + | <!-- bash: my-ip: Kommando nicht gefunden. --> |
| − | * '''vim ~/.bashrc''' | + | <!-- * '''vim ~/.bashrc''' --> |
| − | <syntaxhighlight lang=bash> | + | <!-- <syntaxhighlight lang=bash> --> |
| − | ... | + | <!-- ... --> |
| − | function my-ips() { | + | <!-- function my-ips() { --> |
| − | ip a | grep "^\s*inet " | tr -s " " | cut -d " " -f 3 | cut -d "/" -f 1 | + | <!-- ip a | grep "^\s*inet " | tr -s " " | cut -d " " -f 3 | cut -d "/" -f 1 --> |
| − | } | + | <!-- } --> |
| − | export -f my-ips | + | <!-- export -f my-ips --> |
| − | ... | + | <!-- ... --> |
| − | </syntaxhighlight> | + | <!-- </syntaxhighlight> --> |
| − | * '''source ~/.bashrc''' | + | <!-- * '''source ~/.bashrc''' --> |
| − | * '''bash test.sh''' | + | <!-- * '''bash test.sh''' --> |
| − | 127.0.0.1 | + | <!-- 127.0.0.1 --> |
| − | 192.168.178.81 | + | <!-- 192.168.178.81 --> |
| + | * Funktionen entweder alle in ''~/.bashrc'' definieren oder in ''~/.local/lib/bash-funcs'', welche von ''~/.bashrc'' gesourced wird | ||
Version vom 2. Juni 2023, 08:00 Uhr
Aufgabe 1
- Erstellen Sie eine Funktion my-ips in ihrer .bashrc, die alle konfigurierten IPv4 Adressen ohne Netzmaske anzeigt
Aufgabe 2
- Stellen Sie diese Funktion anderen Skripten zur Verfügung, indem sie mit export -f name-der-funktion arbeiten
- Testen Sie die Funktion in einem separaten Skript
- Überlegen Sie sich wie man solche Funktionen am besten organsiert; Wo würden Sie solche Funktionen zentral definieren?
- Funktionen entweder alle in ~/.bashrc definieren oder in ~/.local/lib/bash-funcs, welche von ~/.bashrc gesourced wird