Code-Schnippsel für die BASH-Programmierung

Veröffentlicht: 23. November 2011 in Linux
Schlagwörter:, , ,

Da ich in der letzten Zeit angefangen habe, mich mit BASH-Skripting zu befassen – wenn auch aus Zeitgründen leider nicht sonderlicher intensiv -, dokumentiere ich mal einige Code-Schnippsel, welche mir in meinen Übungsskripten hilfreich waren. Wie gesagt bin ich diesbezüglich Anfänger, d.h. ich habe sie auch bloß von diversen Seiten übernommen und bei Bedarf angepasst und sicherlich gibt es noch viel mehr sinnvolle Code-Schnippsel. Ergänzungen und Korrekturen sind daher gerne willkommen.

##Codeschnippsel

# Die BASH als Shell benutzen
#!/bin/bash

# ein Kommentar

# Eine Funktion erstellen
function name
{
Inhalt der Funktion
}

# Die Funktion name aufrufen
name

# Eine Variable x vom Benutzer auswählen lassen
read -p "Bitte eine Variable auswählen: " x

# Eine Variable answer deklarieren und mit dem Wert j initialisieren
declare answer
answer=j

# ein Array deklarieren und mit Werten initialisieren
declare -a gueltig
gueltig=( 0 1 2 3 4 5 6 7 8 )

# bedingte Verzweigung mit if, else if, else
if [ Bedingung ];
then
Was passieren soll
elif [ Bedingung ];
then
Was passieren soll
else
Was passieren soll
fi

# Beispiel:
read -p "Drücken Sie 'j', wenn Sie die Antwort 'ja' sein soll: " answer
if [ "$answer" == "j" ];
then
echo "Die Antwort ist ja"
fi

# bedingte Verzweigung mit case, wobei x die Variable ist
# die beiden Semikolons als Abschluss sind wichtig!
case "$x" in
0)
Was passieren soll
;;
1)
Was passieren soll
;;
2)
Was passieren soll
;;
esac

# Prüfen, ob test1.txt existiert und falls ja dieses löschen
FILE=test1.txt
if [ -e $FILE ];
then
rm -f test1.txt
fi

# Prüfen, ob test10.txt NICHT existiert, falls wahr, dann Ausgabe
FILE=test10.txt
if [ ! -e $FILE ];
then
echo "nicht da"
fi

# Prüfen, ob ein String-Wert in einer Datei vorhanden ist
grep "irgendwas" /beispiel.txt
if [ $? -eq 0 ]
then echo "irgendwas vorhanden"
else echo "nicht mal irgendwas vorhanden"
fi

# Ausgabe eines Dateiinhalts auf der Konsole
# |more sorgt dafür, dass die Textausgabe am Bildschirmende aufhört und man manuell weiterschalten muss
# dieser Parameter sollte also bei langen Textdateien gesetzt werden
cat /beispiel.txt |more

# mehrere Textdateien verknüpfen
cat /beispiel1.txt /beispiel2.txt /beispiel3.txt > /allebeispiele.txt

# in einer Datei einen String-Wert (hallo) durch einen anderen (ciao) ersetzen
# Achtung, das funktioniert bei mir noch nicht immer so, wie ich es gerne hätte
# man sollte das auf jeden Fall zunächst an Testdateien ausprobieren, bevor man es auf relevante Dateien loslässt
sed -i 's/hallo/ciao/g' /beispiel.txt

# for-Schleife
for ((i=0; i<=9; i++));
do
Schleifeninhalt
done

# while-Schleife
while [ "$answer" == j ]
do
Schleifeninhalt
done

# Farbvariablen für die Ausgabe
# jaja, es gibt noch mehr
# s. http://wiki.ubuntuusers.de/Bash/Prompt
BLACK="33[0;30m" # schwarz
WHITE="33[1;37m" # weiß
BLUE="33[0;34m" # blau
RED="33[0;31ms" # rot
GREEN="33[0;32m" # grün
YELLOW="33[1;33m" # gelb
ENDCOLOR="033[0m" # zurück zur Standardfarbe

# farbige Ausgabe
echo -e $RED"Error: file not found" # in rot
echo -e $BLUE"Exiting..."$ENDCOLOR # in blau und dann zurück zur Standardfarbe

# Programmende, wenn es zu keinen Fehlern gekommen ist
exit 0

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s