Linux Shell Script Basic Befehle

#!/bin/sh

Shell Script Basics


Schnell Befehlsliste

echo "String" Gibt den Inhalt in "" auf der Konsole zurück, "String" kann auch mit Variablen ausgetauscht werden
read myvar1 myvar2 Fordert den User zu einer Konsolen eingabe auf und speichert den Inhalt in $myvar1 und $myvar2

Verzweigungen If / Else

if [[ condition ]]; then
  #statements
fi
if [[ condition ]]; then
  #statements
elif [[ condition ]]; then
  #statements
elif [[ condition ]]; then
  #statements

While Schleife

statements wird solange ausgeführt wie die Bedingung wahr ist

while [[ Bedingung ]]; do
  #statements
done

For Schleife

Statement wird so oft ausgeführt wie Elemente in liste

for arg in [list]
do 
 #statements
done

Bedingungen / Condition


Datein & Ordner

Bedingung Aussage
[ -a FILE ] Wahr wenn FILE existiert
[ -d FILE ] Wahr wenn FILE eine Datei oder Ordner ist
[ -h FILE ] Wahr wenn FILE existiert oder ein Symbolink ist
[ -r FILE ] Wahr wenn FILE existert und Lesbar ist
[ -s FILE ] Wahr wenn FILE exiestiert und größer als 0 ist
[ -w FILE ] Wahr wenn FILE exiestiert und beschreibbar ist
[ -x FILE ] Wahr wenn FILE exiestiert und ausführbar ist
[ -S FILE ] Wahr wenn FILE exiestiert und ein Socket ist
[ FILE1 -nt FILE2 ] Wahr wenn FILE1 sich mehr geändert hat als FILE2 oder wenn FILE1 exiestiert und FILE2 nicht
[ FILE1 -ot FILE2 ] Wahr wenn FILE1 älter ist als FILE2 oder FILE2 exiestiert und FILE1 nicht

String

Bedingung Aussage
[ -z STRING ] Wahr wenn die länge "STRING" 0 ist
[ -n STRING ] or [ STRING ] Wahr wenn die länge "STRING" nicht 0 ist
[ STRING1 == STRING2 ] Wahr wenn die strings gleich sind
[ STRING1 != STRING2 ] Wahr wenn die strings nicht gleich sind
[ STRING1 < STRING2 ] Wahr wenn "STRING1" vor "STRING2" sortiert wird, nach den localen Lexikon
[ STRING1 > STRING2 ] Wahr wenn "STRING1" nach "STRING2" sortiert wird, nach den localen Lexikon
[ ARG1 OP ARG2 ] "OP" is one of -eq, -ne, -lt, -le, -gt or -ge. These arithmetic binary operators return true if "ARG1" is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to "ARG2", respectively. "ARG1" and "ARG2" are integers.
[ ARG1 -eq ARG2 ] Wahr wenn ARG1 == ARG2
[ ARG1 -ne ARG2 ] Wahr wenn ARG1 != ARG2
[ ARG1 -lt ARG2 ] Wahr wenn ARG1 < ARG2
[ ARG1 -le ARG2 ] Wahr wenn ARG1 <= ARG2
[ ARG1 -gt ARG2 ] Wahr wenn ARG1 > ARG2
[ ARG1 -ge ARG2 ] Wahr wenn ARG1 >= ARG2

Verbundene Anweisungen

Bedingung Aussage
[ ! EXPR ] Wahr wenn EXPR ist False
[ ( EXPR ) ] Gibt den Wert von EXPR zurück.
[ EXPR1 -a EXPR2 ] Wahr wenn EXPR1 und EXPR2 True sind
[ EXPR1 -o EXPR2 ] Wahr wenn EXPR1 oder EXPR2 True sind