Aufgaben Bash function: Unterschied zwischen den Versionen

Aus Xinux Wiki
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 Defin
+
* Ü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