Aufgaben Bash function: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 57: | Zeile 57: | ||
Der Quadratwert von 5 ist: 25 | Der Quadratwert von 5 ist: 25 | ||
In diesem Beispiel wird die Funktion "square" definiert, die den übergebenen Parameter "num" verwendet, um den Quadratwert zu berechnen. Die Funktion speichert das Ergebnis in der lokalen Variablen "result" und gibt es dann mit einer entsprechenden Ausgabe aus. Am Ende wird die Funktion mit der Zahl 5 aufgerufen, um den Quadratwert von 5 zu berechnen und auszugeben. | In diesem Beispiel wird die Funktion "square" definiert, die den übergebenen Parameter "num" verwendet, um den Quadratwert zu berechnen. Die Funktion speichert das Ergebnis in der lokalen Variablen "result" und gibt es dann mit einer entsprechenden Ausgabe aus. Am Ende wird die Funktion mit der Zahl 5 aufgerufen, um den Quadratwert von 5 zu berechnen und auszugeben. | ||
| + | --> | ||
| + | =Aufgabe 4= | ||
| + | =Nettester= | ||
| + | <!-- | ||
| + | |||
| + | <syntaxhighlight lang=bash> | ||
| + | #!/bin/bash | ||
| + | TODO=$1 | ||
| + | IP=$2 | ||
| + | function info-arp() | ||
| + | { | ||
| + | ip neigh ls $IP | cut -f 5 -d " " | ||
| + | } | ||
| + | function info-icmp() | ||
| + | { | ||
| + | if ping -q -c 1 -w 1 $IP > /dev/null 2>&1 | ||
| + | then | ||
| + | echo online | ||
| + | else | ||
| + | echo offline | ||
| + | fi | ||
| + | } | ||
| + | function info-ports() | ||
| + | { | ||
| + | for ((port=1;port<1024;port++)) | ||
| + | do | ||
| + | if netcat -w 1 -z $IP $port | ||
| + | then | ||
| + | echo status: open $port | ||
| + | fi | ||
| + | done | ||
| + | } | ||
| + | |||
| + | case $1 in | ||
| + | arp) | ||
| + | echo host: $2 info: $1 | ||
| + | echo mac: $(info-arp) | ||
| + | ;; | ||
| + | |||
| + | icmp) | ||
| + | echo host: $2 info: $1 | ||
| + | echo status: $(info-icmp) | ||
| + | ;; | ||
| + | |||
| + | ports) | ||
| + | echo host: $2 info: $1 | ||
| + | info-ports | ||
| + | ;; | ||
| + | *) | ||
| + | echo usage $1 "arp|icmp|ports" | ||
| + | ;; | ||
| + | esac | ||
| + | </syntaxhighlight> | ||
--> | --> | ||
Version vom 5. Juni 2023, 15:29 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?
Aufgabe 3
- Schreibe eine Funktion in Bash, die den Quadratwert einer gegebenen Zahl berechnet und ausgibt.
- Die Funktion soll den Namen "square" haben und einen Parameter "num" entgegennehmen.