Aufgaben Bash function: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| 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