News
Serverspace Technologien in den VAE: Einführung von Falconcloud
RF
8. August 2023
Aktualisiert August 8, 2023

Linux Bash-Grundlagen. Leitfaden zur Skripterstellung

Linux Wartung

Einleitung

Bash-Scripting dient als wertvolles Dienstprogramm für moderne und umfassende Aufgaben in der Verwaltung von Betriebssystemen Linux und macOS. Seine einfache Syntax, die enge Integration in das Betriebssystem und die Effizienz im Umgang mit Shell-spezifischen Funktionalitäten bieten deutliche Vorteile für bestimmte Anwendungsfälle.

Vorteile von Bash-Scripting

  • Optimierte Automatisierung: Bash-Skripte bieten einen einfachen und intuitiven Ansatz zur Automatisierung wiederkehrender Aufgaben und zur Verwaltung der Systemverwaltungsaufgaben. Sie führen Befehlssequenzen schnell aus und optimieren so Aufgaben wie Backups, Protokollverwaltung und Benutzerkonfiguration;
  • Nahtlose Systemintegration: Als Standard-Shell auf den meisten Unix-ähnlichen Systemen integriert sich Bash nahtlos in das zugrunde liegende Betriebssystem. Diese enge Integration ermöglicht einen einfachen Zugriff auf Systemdienstprogramme, Umgebungsvariablen und Systeminformationen und rationalisiert Vorgänge, die systembezogene Aufgaben umfassen.
  • Befehlszeileneffizienz: Bash beherrscht die Befehlszeilenschnittstelle hervorragend und beherrscht Aufgaben wie Textbearbeitung, Dateiverarbeitung und Verzeichnisnavigation. Durch die Unterstützung von Pipes, Weiterleitungen und anderen Shell-spezifischen Funktionen werden seine Fähigkeiten weiter verbessert.
  • Rapid Prototyping und Testen: Mit seiner einfachen Syntax und sofortigem Feedback während der Befehlszeilenausführung erleichtert Bash rapid Prototyping und Testen von Ideen und Lösungen. Diese Agilität erweist sich für schnelle Korrekturen und temporäre Skripte als wertvoll.
  • Zugänglich für Systemadministratoren: Bash-Skripte sind für Systemadministratoren auch ohne umfangreiche Programmierung zugänglichramMing-Wissen. Diese Zugänglichkeit ermöglicht es Systemadministratoren, problemlos benutzerdefinierte Lösungen zu erstellen und Aufgaben zu automatisieren.
  • Optimale integrierte Shell-Ins: Bash bietet integrierte Befehle, die in hohem Maße auf Leistung optimiert sind, wodurch es für kleine und sich wiederholende Aufgaben effizient ist. Mit dieser Funktion können Bash-Skripte bestimmte Vorgänge im Vergleich zu Programmen auf höherer Ebene schneller ausführenramMing-Sprachen;
  • Plattformportabilität: Obwohl Bash hauptsächlich auf Unix-ähnlichen Systemen verwendet wird, ist es auf verschiedenen Plattformen verfügbar, darunter Linux, macOS und Windows (über Cygwin oder Windows Subsystem für Linux). Diese Portabilität ermöglicht die Verwendung von Bash-Skripten in verschiedenen Umgebungen.

Zusammenfassend lässt sich sagen, dass die Stärken von Bash-Skripten in ihrer Einfachheit, der engen Integration mit Unix-basierten Systemen und der Fähigkeit, Shell-spezifische Aufgaben zu bewältigen, liegen. Es zeichnet sich durch die Automatisierung von Systemverwaltungsaufgaben, die nahtlose Zusammenarbeit mit Befehlszeilendienstprogrammen und die Bereitstellung schneller Lösungen für die Textverarbeitung und Dateibearbeitung aus. Seine Zugänglichkeit und die Fähigkeit, schnell Prototypen von Ideen zu erstellen, machen es zu einer ausgezeichneten Wahl für Systemadministratoren und Aufgaben, die einen prägnanten und effektiven Skriptansatz erfordern.

Voraussetzungen:

  • Root-Rechte;
  • Debian 11 oder höhere Version;
  • Mehrere Kenntnisse über Arbeitsbetriebssystem;
  • Internet-Anschluss.

Starten Sie Ihren Motor

Wir werden arbeiten VPS Maschine von unserem Lieferanten Serverspace, die Sie auf der Website bestellen können. Und verwenden Debian 11-Betriebssystem mit Bash-Shell. Gehen Sie zunächst zum Bedienfeld von Serverspace und wählen Sie die benötigte Plattform zum Arbeiten:

Control page
Screenshot Nr. 1 – Kontrollseite

Sie können verschiedene Rechenzentren in verschiedenen Ländern sehen und nach Ihrem Standpunkt und Zweck auswählen, vorzugsweise in der Nähe Ihres Standorts. Dann können Sie sich das Betriebssystem ansehen und eines auswählen. In unserem Beispiel sehen wir klassisch aus.

price
Screenshot Nr. 2 – Preis

Nach der Auswahl der Ressourcen für Ihre Maschine können Sie den Preis und die Preise sehen cliMach weiter Bestellung Klicken Sie auf die Schaltfläche und warten Sie, bis die Einrichtung des Servers abgeschlossen ist. Geben Sie anschließend Ihre Anmeldeinformationen ein, um sich mit dem folgenden Befehl beim System anzumelden.

ssh root@162.64.253.1
Login
Screenshot Nr. 3 – Anmelden

Reminder! Sie müssen Ihre IP-Adresse ändern und das Passwort für das Konto eingeben.

Erstellen Sie das erste Skript

Herzlichen Glückwunsch, wir sind dabei. Und haben bereits den Bash-Interpreter und die Shell verwendet. Das Schild # oder wenn Sie sich als Benutzer anmelden $ Das bedeutet, dass die Maschine die Befehlseingabe in der Bash bereits liest und verarbeitet. Als Zweites installieren wir den Texteditor für eine komfortablere Nutzung unserer Skriptdatei:

apt install nano

Sie können auch einfachere und komplexere Texteditoren wie gedit, vim, Emacs usw. verwenden. Wählen Sie, was Sie für Ihre komfortable Arbeit benötigen. Lassen Sie uns unser erstes Skript erstellen. Dazu müssen Sie den Pfad zum Bash in Ihrem System finden, standardmäßig ist dies der Fall / bin / bash, aber Sie können es mit dem folgenden Befehl finden:

cd / && which bash

Im nächsten Schritt wird mit dem folgenden Befehl eine Skriptdatei erstellt:

nano /etc/script.sh

Und geben Sie diese Zeilen ein:

#!/bin/bash
echo "My first script in bash!"
Firts script
Screenshot Nr. 4 – Erstes Skript

In der ersten Zeile geben wir den Interpreter für das Skript an. Schreiben Sie Ihren Pfad wie oben bekannt, aber in 99 % der Fälle haben wir den Standardpfad. In der Zeile darunter sehen wir den Befehl Echo welches auf dem Bildschirm unseren Text anzeigte. Richtiger Mod zur ausführbaren Datei:

cd etc && chmod +x script.sh

Jetzt können Sie Ihr Skript über den Dateipfad oder mit dem folgenden Befehl starten:

sh script.sh
Firts execution
Screenshot Nr. 5 – Erste Ausführung

Auf geht's! Wir haben zuerst ein Skript geschrieben, schauen uns aber die Komplexität und die nützlichen Details des Skriptprozesses an.

Argumente

Es gibt Eingabedaten, die vom Skript verarbeitet werden müssen, Daten, die vom Benutzer eingegeben oder von einem anderen Dienstprogramm, Dienst oder Skript übertragen werden müssen. Dafür in programIn der Ming-Sprache gibt es eine Definition – Argumente oder Daten, die zur Verarbeitung durch einen Algorithmus benötigt werden. Schauen wir uns das Beispiel an:

Erstellen Sie dazu eine neue Datei und öffnen Sie sie mit dem einen Befehl:

nano /etc/price.sh && chmod +x /etc/price.sh

Schreiben Sie das folgende Skript:

#!/bin/bash
echo "My suggested price is $1"

ErklärungnatIon: In diesem Skript verwenden wir ein Argument und geben dies durch das Zeichen $K an, wobei K eine Zahl des Eingabearguments ist. $0 ist immer der Name des ausgeführten Skripts, $1, $2 usw. Es handelt sich lediglich um eine Liste der eingegebenen Daten. Lassen wir es laufen!

sh /etc/price.sh 4333$
Price script
Screenshot Nr. 6 – Preisskript

Möglicherweise fällt Ihnen ein leerer Teil des angezeigten Rohmaterials auf. Das liegt daran, dass wir keinen Fehler haben und einen Bug haben! Lassen Sie uns einen Prüfmechanismus erstellen:

nano /etc/price.sh

Und geben Sie diesen Code ein:

#!/bin/bash
if  [ "$1" -z]; then
echo "You entering data don't accordance rule!"
exit 1
fi
echo "My suggested price is $1"

ErklärungnatIon: Wir fügen eine Funktion zur Überprüfung der Eingabe von Daten durch eine Wenn-Dann-Sonst-Konstruktion hinzu. Wenn es um die Syntax für den Startbedingungsbefehl geht, den wir schreiben und den Filter für die Variable angeben. In diesem Fall verwenden wir —z Option, was bedeutet, dass das Feld leer ist. Als nächstes schrieben wir dann Befehl, der eine Aktion angibt, wenn die obige Aussage wahr ist. In unserem Fall haben wir eine Fehlermeldung und eine Verwendung angezeigt Beenden Sie 1 — Befehl für fertiges Program und Fehler anzeigen. Fangen wir an und prüfen:

sh /etc/price.sh 44$ && sh /etc/price.sh
Fix script
Screenshot Nr. 7 – Skript reparieren

In Ordnung! Aber wenn wir Daten im Skript vorbereiten müssen? Zu diesem Zweck haben wir Variable!

Variablen

Sie stellen Speicherzellen dar, die Informationen speichern und deren Nutzung durch Erwähnung im Skript ermöglichen. Variablendeklaration: Variablen in Bash werden ohne Verwendung von Schlüsselwörtern deklariert, indem einer Variablen einfach ein Wert zugewiesen wird. Zum Beispiel:

name="John" age=30

Variablen in Bash unterstützen dank dynamischer Typisierung eine Vielzahl von Datentypen. Variablennamen müssen mit einem Buchstaben oder dem Symbol „_“ beginnen, Buchstaben, Zahlen sind erlaubt. Erleichtern Sie das Verständnis des Codes, indem Sie aussagekräftige Variablennamen verwenden und das Dollarsymbol „$“ verwenden, um auf ihre Werte zuzugreifen, zum Beispiel:

echo "Hello, $name!"

Der Wert der Variablen kann jederzeit während der Skriptausführung neu zugewiesen und geändert werden:

count=5
echo "Current value of count: $count"
count=10
echo "New value of count: $count"

Wert von einem Benutzer lesen: Mit dem Lesebefehl können Sie einen Wert von einem Benutzer lesen und ihn einer Variablen zuweisen:

read -p "Enter your price: " price

echo "Awwww, $price?"

Eine Variable löschen: Um eine Variable zu löschen, verwenden Sie den unset-Befehl:

unset name

Exportieren einer Variablen: Wenn eine Variable für Unterprozesse verfügbar gemacht werden muss, können Sie den Befehl export verwenden:

export MY_VARIABLE="price"

Variablen in Bash spielen eine wichtige Rolle beim Schreiben von Skripten und der Automatisierung von Aufgaben, da sie Ihnen die Speicherung und Verarbeitung von Daten während der gesamten Ausführung eines Programms ermöglichenram oder Befehle.

Kontrollstrukturen

In jedem Skript gibt es einen logischen Pfad, den die Informationen durchlaufen, filtern, ihren Wert ändern und ein Ergebnis liefern. All dies ist durch Kontrollstrukturen möglich, die zusätzliche Zweige und Auswahlmöglichkeiten bieten. Es gibt Zyklen, bedingte Konstruktionen usw. Ein einfaches Beispiel, das wir oben für die Wenn-Dann-Sonst-Konstruktion erklären. Die üblicherweise für Einzel- oder Zwei-Drei-Verzweigungen verwendete Struktur:

if [ condition ]; then
statement-1
elif [ condition-2 ]; then
statement-2
fi

In diesem Beispiel sehen wir 3 Zweige, aber was müssen wir tun, wenn wir eine Liste mit Bedingungen und einen Pa haben?rameter? Dafür können wir die Switch-Case-Konstruktion verwenden. Alle Bedeutungen sind in unserem Pa enthaltenramVergleichen Sie es mit anderen in der Liste und führen Sie daher die entsprechende Aktion aus, um zu antworten. Zum Beispiel:

read -p "What is machine you search for? " car
case "$car" in
"Volkswagen" )
price="3000$"
;;
"BMW" )
price="4000$"
;;
*)
price="we don't know"
esac
echo "You requesting cost of car: $price"

Tragen Sie das in die Datei ein, wie wir es zuvor gemacht haben! Und führen Sie es aus:

./etc/price.sh
Example in text editor
Screenshot Nr. 8 – Beispiel im Texteditor

Nach dem Start überprüfen wir Folgendes:

Start example
Screenshot Nr. 9 – Beispiel starten

Okay, das funktioniert! Es gibt das nächste Problem: Einige Befehle müssen wir eine bestimmte Anzahl von Malen ausführen oder bis die Bedingungen erfüllt sind. Dafür verwenden wir Zyklen!

Fahrräder

Wir können einen Zyklus verwenden, mit dem wir bestimmte Befehle für jedes Objekt nacheinander wiederholen können, zum Beispiel:

cars=("Toyota" "Honda" "Ford" "BMW" "Tesla")
for ((i=0; i<${#cars[@]}; i++))
do
echo "Car $((i+1)): ${cars[i]}"
done

Dieser Code ermöglicht es uns, den Anzeigewert eine bestimmte Anzahl von Malen zu iterieren. i = 0 Syntax gibt den Startwert an, ich<${#cars[@]} Es ist eine Bedingung, i++ ist ein Befehl, wenn die Bedingung einem logischen Wert entspricht was immer dies auch sein sollte.. Führen Sie dann den Befehl aus, der nach Abschluss der Bedingung in unserem Beispiel ausgeführt werden soll Echo und erledigt bedeutet abgeschlossener Zyklus. Lass uns testen:

Start example
Screenshot Nr. 10 – Beispiel starten

Der while-Zyklus im Beispiel:

cars=("Toyota" "Honda" "Ford" "BMW" "Tesla")
count=1
while [ $count -le ${#cars[@]} ]
do
echo "Car $count: ${cars[$((count-1))]}"
((count++))
done

Zusammenfassung

Bash-Scripting zeichnet sich durch seine Benutzerfreundlichkeit aus natSicherheit, reibungslose Integration in Unix-basierte Systeme und Geschick im Umgang mit Shell-spezifischen Aufgaben. Es glänzt durch die Automatisierung von Systemverwaltungsaufgaben, die nahtlose Interaktion mit Befehlszeilendienstprogrammen und die schnelle Bereitstellung von Lösungen für die Textverarbeitung und Dateibearbeitung. Aufgrund seiner Zugänglichkeit und Flexibilität ist es die bevorzugte Option für Systemadministratoren, die Aufgaben erledigen, die einen präzisen und effizienten Skriptansatz erfordern. Kenntnisse in der Bash-Skripterstellung ermöglichen es Administratoren, die Produktivität zu steigern, die Aufgabenverwaltung zu optimieren und alle Funktionen von zu nutzen Linux und macOS-Systeme, culminatin einer effizienteren und produktiveren Computerumgebung arbeiten.

Abstimmung:
5 aus 5
Durchschnittliche Bewertung: 5
Bewertet von: 2
1101 CT Amsterdam Niederlande, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Wir verwenden Cookies, um Ihr Erlebnis auf der Website zu verbessern Serverspace besser. Indem Sie weiterhin auf unserer Website surfen, stimmen Sie unseren zu
Cookies und Datenschutzbestimmungen.