Bash Aufgaben: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 35: Zeile 35:
 
# Beschreiben sie was bei den folgenden Parameterexpansionen passiert
 
# Beschreiben sie was bei den folgenden Parameterexpansionen passiert
 
  thomas@dozent:~$ echo ${FARBE:-rot}
 
  thomas@dozent:~$ echo ${FARBE:-rot}
thomas@dozent:~$ echo ${FARBE:=rot}
+
thomas@dozent:~$ echo ${FARBE:=rot}
thomas@dozent:~$ echo ${FARBE:?keine farbe}
+
thomas@dozent:~$ echo ${FARBE:?keine farbe}
thomas@dozent:~$ echo ${FARBE:+rot}  
+
thomas@dozent:~$ echo ${FARBE:+rot}  
thomas@dozent:~$ echo ${FARBE:3}
+
thomas@dozent:~$ echo ${FARBE:3}
thomas@dozent:~$ echo ${FARBE:5:3}
+
thomas@dozent:~$ echo ${FARBE:5:3}
thomas@dozent:~$ echo ${#FARBE}
+
thomas@dozent:~$ echo ${#FARBE}
thomas@dozent:~/bin$ echo ${FARBE#rot}
+
thomas@dozent:~/bin$ echo ${FARBE#rot}
thomas@dozent:~/bin$ echo ${PROGRAM#*/}
+
thomas@dozent:~/bin$ echo ${PROGRAM#*/}
thomas@dozent:~/bin$ echo ${FARBE%weis}
+
thomas@dozent:~/bin$ echo ${FARBE%weis}
thomas@dozent:~/bin$ echo ${FARBE%o*}
+
thomas@dozent:~/bin$ echo ${FARBE%o*}
thomas@dozent:~/bin$ echo ${FARBE/rot/blau}
+
thomas@dozent:~/bin$ echo ${FARBE/rot/blau}
  
 
==Besondere Dateien==
 
==Besondere Dateien==
  
 
# Beschreiben sie die Funktion der Dateien
 
# Beschreiben sie die Funktion der Dateien
    /etc/profile  
+
*/etc/profile  
 
+
*~/.bash_profile  
    ~/.bash_profile  
+
*~/.bash_login  
 
+
*~/.profile  
 
+
*~/.bashrc  
    ~/.bash_login  
+
*~/.bash_history  
 
+
*~/.bash_logout
 
 
    ~/.profile  
 
 
 
 
 
    ~/.bashrc  
 
 
 
 
 
    ~/.bash_history  
 
 
 
 
 
    ~/.bash_logout
 

Version vom 27. Juli 2011, 11:27 Uhr

Aufgaben

  1. Reihen sie die Befehle: date, hostname und pwd in einem skript aneinander und führen sie es aus
  2. Wie bestimmt man welcher Shell das Skript übergeben wird?
  3. Welche Möglichkeiten gibt es ein Skript aufzurufen?
    1. Und wie unterscheiden sie sich?

Skalare Variablen

  1. Ordnen sie der Variable GLAS den wert bier zu
    1. Geben sie den wert der Variable aus
  2. Ordnen sie einer beliebigen Variable den wert eines Verzeichnispfades zu
    1. Lassen sie sich über den Variablen wert den Inhalt des Verzeichnisses anzeigen

Feld Variablen

  1. Ordnen sie der Variable FARBE die werte schwarz, rot und gold zu
    1. Lassen sie sich jeweils jeden wert ausgeben

Kommando Substitution

  1. Definieren sie Kommando Substitution
  2. Geben sie die beiden Varianten der Kommando Substitution an
    1. Was ist der Unterschied?
  3. Ordnern Sie die Ausgabe von date einer beliebigen Variable zu
  4. Wie kann man mit whoami in sein home-Verzeichnis wechseln

Abgrenzen von Variablen (Parameterexpansion)

  1. Definieren sie 3 Variablen, wobei die dritte sich aus den ersten beiden zusammensetzt. Bsp.: SUX, TUX und SUXTUX
  2. Geben sie diese Variablen in allen Abgrenzungsmöglichkeiten wieder

Weitere Mechanismen zur Parameterexpansion

  1. Beschreiben sie was bei den folgenden Parameterexpansionen passiert
thomas@dozent:~$ echo ${FARBE:-rot}
thomas@dozent:~$ echo ${FARBE:=rot}
thomas@dozent:~$ echo ${FARBE:?keine farbe}
thomas@dozent:~$ echo ${FARBE:+rot} 
thomas@dozent:~$ echo ${FARBE:3}
thomas@dozent:~$ echo ${FARBE:5:3}
thomas@dozent:~$ echo ${#FARBE}
thomas@dozent:~/bin$ echo ${FARBE#rot}
thomas@dozent:~/bin$ echo ${PROGRAM#*/}
thomas@dozent:~/bin$ echo ${FARBE%weis}
thomas@dozent:~/bin$ echo ${FARBE%o*}
thomas@dozent:~/bin$ echo ${FARBE/rot/blau}

Besondere Dateien

  1. Beschreiben sie die Funktion der Dateien
  • /etc/profile
  • ~/.bash_profile
  • ~/.bash_login
  • ~/.profile
  • ~/.bashrc
  • ~/.bash_history
  • ~/.bash_logout