Hummel.Netzwerk

Bash

1. Erstellen eines Bash Scripts

Einen Bash Script zu erstellen ist ganz einfach!
Bsp.:
1.

nano meinscript.sh(wird gleich im Texteditor nano geöffnet)

2.

touch meinscript.sh(erstellt nur die datei im Verzeichnis ohne sie zu öffnen)

2. Shebang

Das Shebang wird verwendet, um dem verwendeten Terminal zu sagen, welche Shell zum ausführen genutzt werden soll.

#!/bin/bash

3. Variablen

Variablen kann man sehr vielseitig verwenden. Sie speichern einen festgelegten wert, ein Zeichen oder eine Zeichenkette unter einem beliebigen namen ab.

3.1 Einfache Variablen

Einfache Variablen werden beim start eines Scripts zu einem bestimmten wert / zeichen / zeichenkette gesetzt.
Bsp.:

#!/bin/bash
name="Jonas"

echo "$name"

Aufgaben:

1. Erstelle ein Bash Script, der 'hallo.sh' heißt und dich beim Ausführen grüßt!

3.2 Variablen mit Benutzereingabe

Variablen mit Benutzereingaben ermöglichen Nutzer Interaktion in deinen Scripts.
Bsp.:
#!/bin/bash

echo "Wie heißt du?"
read name

sleep 1

echo "Hallo, $name!"

Aufgabe:

Erstelle einen Script namens whoareyou.sh und mache ihn ausführbar. Lasse den script dich nach deinem Namen und Alter fragen. Lass den script dich grüßen und dein alter sagen.

3.3 Variablen als Attribute

Diese Variablen werden direkt beim Ausführen im Befehl selber deklariert!
Bsp.:
#!/bin/bash

name=$1

echo "Hallo, $name"

Diese Variable wird dann so beim Ausführen deklariert:

bash script.sh jonas

oder

./script.sh jonas

3.4 Variablen als Ausgabe eines Befehls

In diesen Variablen wird die Ausgabe eines Befehls gespeichert.
Bsp.:
#!/bin/bash

user=$(whoami)
echo "Hi $user"

date=$(date)
echo "Heute ist: $date"

wobinich=$(pwd)
echo "Du befindest dich in $wobinich"

echo "Du bist gerade als $user eingeloggt und befindest dich in $wobinich. Heute ist $date."

3.5 Linux eigene Variablen

Diese Variablen sind schon im System drin und benötigen keine deklaration im script, sondern können direkt genutzt werden.
Bsp.:
#!/bin/bash

$RANDOM
#gibt eine zufällige Zahl zwischen 0 und 32767 aus.

$SHELL
#gibt die aktuell genutzte Shell aus. (z.B: /bin/bash)

$USER
#Gibt den aktuell genutzten Benutzer an.

$PWD
#Gibt das aktuell genutzte Verzeichnis an. (z.B. /home)

$HOSTNAME
Gibt den Hostnamen des Gerätes an.

Kosmetik

Eine ganze Zeile des Terminals voller "#", angepasst auf die Terminal größe.
printf '%*s\n' "$(tput cols)" '' | tr ' ' '#'
13.11.2025