Schritt-für-Schritt-Anleitung zum Erstellen eines Shell-Skripts unter Linux

watch 3m, 24s
views 2

08:43, 05.06.2026

Artikel Inhalt
arrow

  • Ein Shell-Skript schreiben
  • Kommentare in einem Shell-Skript hinzufügen
  • Arbeiten mit Variablen in Shell-Skripten
  • Angabe des Shell-Skript-Interpreters
  • Verwendung von Vergleichsoperatoren
  • Vergleich von ganzzahligen Werten 
  • Vergleich von Ganzzahlen
  • Vergleichen von Zeichenketten in Shell-Skripten 
  • Zeichenkettenvergleich
  • Implementierung von bedingten Anweisungen  
  • Verwendung der if-Anweisung
  • Implementierung der If-Else-Logik
  • Schleifen in Shell-Skripten verstehen
  • Die While-Schleife
  • Die For-Schleife
  • Umgang mit Positionsargumenten in Skripten
  • Erfassen und Speichern von Befehlsausgaben
  • Exit-Codes in Shell-Befehlen verstehen

Shell-Skripte sind eine hervorragende Möglichkeit, Aufgaben zu automatisieren und Befehle unter Linux effizient auszuführen. Dieser Leitfaden hilft Ihnen dabei, sich von den Grundlagen an einzuarbeiten, auch wenn Sie noch keine Erfahrung damit haben.

Ein Shell-Skript schreiben

Um ein Shell-Skript zu erstellen, öffne einen beliebigen Texteditor wie nano, vim oder gedit

Geben Sie Ihre Befehle ein und speichern Sie die Datei mit der .shextension.

Beispiel:

#!/bin/bash
echo "Hello, World!"

Um das Skript ausführbar zu machen, verwenden Sie diesen Befehl:

chmod +x myscript.sh

Führen Sie es dann aus:

./myscript.sh

Kommentare in einem Shell-Skript hinzufügen

Kommentare helfen dabei, Ihren Code zu erklären. In Shell-Skripten beginnen Kommentare mit #.

Beispiel:

# Dies ist ein Kommentar
echo "Das Skript wird ausgeführt..."

Verwenden Sie Kommentare, um Ihren Code für sich selbst und andere verständlicher zu machen.

Arbeiten mit Variablen in Shell-Skripten

Variablen speichern Werte, die Sie wiederverwenden können.

Beispiel:

name="Alice"
echo "Hallo, $name"

Es ist nicht erforderlich, den Typ zu deklarieren. Sie können die Variable direkt zuweisen und verwenden.

Angabe des Shell-Skript-Interpreters

Die erste Zeile in einem Shell-Skript wird als Shebang bezeichnet. Sie teilt dem System mit, welcher Interpreter verwendet werden soll.

Beispiel:

#!/bin/bash

Fügen Sie diese Zeile immer am Anfang Ihres Skripts ein, damit es ordnungsgemäß ausgeführt wird.

Verwendung von Vergleichsoperatoren

Mit Vergleichsoperatoren können Sie Werte vergleichen, was für die Entscheidungsfindung in Skripten nützlich ist.

Vergleich von ganzzahligen Werten 

Verwenden Sie für numerische Vergleiche diese Operatoren:

Vergleich von Ganzzahlen

Operator

Beschreibung

-eq

ist gleich

-ne

ist nicht gleich

-gt

ist größer als

-ge

ist größer oder gleich

-lt

ist kleiner als

-le

ist kleiner oder gleich



Beispiel:

a=10
b=5
if [ $a -gt $b ]; then
  echo "$a ist größer als $b"
fi

Vergleichen von Zeichenketten in Shell-Skripten 

Um Textwerte (Zeichenketten) zu vergleichen, verwenden Sie diese Operatoren:

Zeichenkettenvergleich

Operator

Beschreibung

==

ist gleich

!=

ist ungleich

\<

ist kleiner als, in ASCII-alphabetischer Reihenfolge

\>

ist größer als, in ASCII-alphabetischer Reihenfolge

Beispiel:

str1="apple"
str2="banana"
if [ "$str1" \< "$str2" ]; then
  echo "$str1 kommt alphabetisch vor $str2"
fi

Implementierung von bedingten Anweisungen  

Bedingte Anweisungen ermöglichen es Ihrem Skript, basierend auf einer Bedingung zu entscheiden, was zu tun ist.

Verwendung der if-Anweisung

Die if -Anweisung prüft eine Bedingung und führt Befehle aus, wenn diese wahr ist.

Beispiel:

if [ -e myfile.txt ]; then
  echo "Datei existiert"
fi

Implementierung der If-Else-Logik

Sie können else verwenden, um den Fall zu behandeln, in dem eine Bedingung falsch ist.

Beispiel:

if [ -d myfolder ]; then
  echo "Ordner existiert"
else
  echo "Ordner existiert nicht"
fi

Sie können auch elif für zusätzliche Bedingungen verwenden:

if [ $a -gt $b ]; then
  echo "A ist größer"
elif [ $a -eq $b ]; then
  echo "A ist gleich"
else
  echo "A ist kleiner"
fi

Schleifen in Shell-Skripten verstehen

Mit Schleifen können Sie Befehle mehrfach wiederholen. Es gibt zwei gängige Schleifen: while und for.

Die While-Schleife

Die while Schleife läuft, solange die Bedingung wahr ist.

Beispiel:

count=1
while [ $count -le 5 ]; do
  echo "Count ist $count"
  ((count++))
done

Die For-Schleife

Die for Schleife durchläuft eine Liste oder einen Bereich.

Beispiel:

for i in 1 2 3 4 5; do
  echo "Zahl: $i"
done
Sie können auch Dateien durchlaufen:
for file in *.txt; do
  echo "Datei gefunden: $file"
done

Umgang mit Positionsargumenten in Skripten

Shell-Skripte können Argumente von der Befehlszeile entgegennehmen.

Beispiel:

#!/bin/bash
echo "Skriptname: $0"
echo "Erstes Argument: $1"
echo "Zweites Argument: $2"

Führen Sie das Skript aus:

./myscript.sh hello world

Ausgabe:

Skriptname: ./myscript.sh
Erstes Argument: hello
Zweites Argument: world

Erfassen und Speichern von Befehlsausgaben

Sie können das Ergebnis eines Befehls mit $(command) erfassen.

Beispiel:

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

Dies speichert die Ausgabe von date in einer Variablen.

Exit-Codes in Shell-Befehlen verstehen

Jeder Befehl gibt einen Exit-Code zurück. Sie können diesen mit $? überprüfen.

  • 0 bedeutet Erfolg.
  • Jeder andere Wert bedeutet, dass ein Fehler aufgetreten ist.

Beispiel:

ls /notfound
if [ $? -ne 0 ]; then
  echo "Verzeichnis nicht gefunden"
fi

Dies hilft bei der Erkennung von Fehlern in Skripten.

Teilen

War dieser Artikel für Sie hilfreich?

VPS beliebte Angebote

-15.6%

CPU
CPU
2 Xeon Cores
RAM
RAM
512 MB
Space
Space
10 GB SSD
Bandwidth
Bandwidth
1 TB
KVM-SSD 512 Metered Linux

5.33 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
8 GB
Space
Space
100 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 8192 Windows

28.99 /mo

/mo

Alle 12 Monate abgerechnet

-9.9%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 2048 Linux

6.26 /mo

/mo

Alle 12 Monate abgerechnet

-13.1%

CPU
CPU
2 Xeon Cores
RAM
RAM
512 MB
Space
Space
10 GB SSD
Bandwidth
Bandwidth
300 GB
KVM-SSD 512 HK Linux

7 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
8 Xeon Cores
RAM
RAM
32 GB
Space
Space
200 GB SSD
Bandwidth
Bandwidth
12 TB
KVM-SSD 32768 Metered Linux

150 /mo

/mo

Alle 12 Monate abgerechnet

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 4096 HK Windows

40 /mo

/mo

Alle 12 Monate abgerechnet

-10.1%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
200 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 8192 Linux

20.58 /mo

/mo

Alle 12 Monate abgerechnet

-5.3%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 2048 Windows

11.62 /mo

/mo

Alle 12 Monate abgerechnet

-9.7%

CPU
CPU
10 Epyc Cores
RAM
RAM
64 GB
Space
Space
300 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 65536 Windows

139.49 /mo

/mo

Alle 12 Monate abgerechnet

-15.3%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
40 Mbps
DDoS Protected SSD-wKVM 2048 Windows

54 /mo

/mo

Alle 12 Monate abgerechnet

Weitere Artikel zu diesem Thema

cookie

Cookies und Datenschutz akzeptieren?

Wir verwenden Cookies, um sicherzustellen, dass wir Ihnen die beste Erfahrung auf unserer Website bieten. Wenn Sie fortfahren, ohne Ihre Einstellungen zu ändern, gehen wir davon aus, dass Sie mit dem Empfang aller Cookies auf der HostZealot-Website einverstanden sind.