Website-Suche

Linux-Shell und grundlegendes Shell-Scripting verstehen - Teil 1


Die Linux-Shell oder Befehlszeilenschnittstelle ist ein leistungsstarkes Programm, das es Benutzern ermöglicht, über textbasierte Befehle mit dem Betriebssystem zu interagieren.

Wenn Sie die Grundlagen der Linux-Shell und der Shell-Skripterstellung verstehen, können Sie Ihre Effizienz und Kontrolle über Ihr System erheblich verbessern.

In diesem Leitfaden untersuchen wir die wichtigsten Konzepte und geben Tipps sowohl für Anfänger als auch für diejenigen, die sich mit grundlegenden Shell-Skripten befassen möchten.

Linux-Shell verstehen

Die Shell ist ein Befehlszeilenprogramm, das Benutzerbefehle interpretiert und in Aktionen übersetzt, die das Betriebssystem ausführen kann. Es fungiert als Vermittler zwischen dem Benutzer und dem Linux-Kernel und ermöglicht es Benutzern, das System durch Befehle zu steuern und zu manipulieren.

  • Shell – Ein Befehlszeileninterpreter, der einen Benutzer mit dem Betriebssystem verbindet und die Ausführung von Befehlen oder die Erstellung von Textskripten ermöglicht.
  • Prozess – Jede Aufgabe, die ein Benutzer im System ausführt, wird als Prozess bezeichnet. Ein Prozess ist ein bisschen komplexer als nur eine Aufgabe.
  • Datei – Eine Datei befindet sich auf der Festplatte (HDD) und enthält Daten, die einem Benutzer gehören.
  • X-Windows (X11) – Ein Linux-Modus, in dem der Bildschirm (Monitor) in kleine "Teile" unterteilt werden kann, die als Fenster bezeichnet werden, was es einem Benutzer ermöglicht, mehrere Aufgaben gleichzeitig auszuführen, einfach von einer Aufgabe zur anderen zu wechseln und Grafiken auf visuell ansprechende Weise anzuzeigen.
  • Terminal – Ein Monitor, der nur Text anzeigen kann, ohne Grafiken oder mit sehr einfachen Grafiken.
  • Sitzung – Die Zeit zwischen dem An- und Abmelden vom System.

Arten von Linux-Shells

Linux unterstützt verschiedene Arten von Shells, wobei Bash (Bourne Again Shell) die am weitesten verbreitete ist. Weitere bemerkenswerte Granaten sind Zsh (Z-Schale), Fisch und Dash.

Jede Shell hat ihre eigenen Funktionen und Syntax und geht auf unterschiedliche Benutzerpräferenzen und -bedürfnisse ein.

  • Bash – Es ist die Standard-Shell für die meisten Linux-Distributionen und wird aufgrund ihrer Vielseitigkeit und leistungsstarken Skriptfunktionen häufig verwendet.
  • Zsh – Es ist bekannt für seine erweiterten Funktionen und seine verbesserte Benutzeroberfläche. Es enthält Funktionen aus anderen Shells, einschließlich Bash und Korn.
  • Fisch – Es ist benutzerfreundlich gestaltet, wobei der Schwerpunkt auf Einfachheit und Auffindbarkeit liegt, indem es Syntaxhervorhebung und automatische Vorschläge für Befehle bietet.
  • Dash – Es handelt sich um eine leichtgewichtige Shell, die auf Effizienz ausgelegt ist und häufig als Standard-Systemshell auf minimalistischen Linux-Distributionen verwendet wird.
  • Ksh – Es handelt sich um eine leistungsstarke Shell, die sich sowohl auf die interaktive Nutzung als auch auf die Skripterstellung konzentriert und Funktionen aus der Bourne-Shell (sh) und der C-Shell (csh) enthält.
  • Csh – Es ist mit einer Syntax ausgestattet, die der Programmiersprache C ähnelt, die für ihre interaktiven Funktionen und Skriptfunktionen bekannt ist.

Grundlegende Befehle

Es gibt Tausende von Befehlen für Befehlszeilenbenutzer. Wie wäre es, wenn Sie sich an alle erinnern? Hmm! Das kannst du einfach nicht. Die wahre Stärke eines Computers besteht darin, Ihre Arbeit zu vereinfachen. Um Ihre Arbeit zu erleichtern, müssen Sie Prozesse automatisieren und benötigen daher Skripte.

Skripte sind Sammlungen von Befehlen, die in einer Datei gespeichert sind. Die Shell kann diese Datei lesen und auf die Befehle reagieren, als ob sie auf der Tastatur eingegeben worden wären. Die Shell bietet auch eine Vielzahl nützlicher Programmierfunktionen, um Skripte wirklich leistungsfähig zu machen.

Grundlagen der Shell-Programmierung

Bei der Shellprogrammierung werden Skripts erstellt, die die Funktionen einer Shell, z. B. Bash, nutzen, um Aufgaben zu automatisieren und Befehle auszuführen. Das Verständnis der Grundlagen der Shell-Programmierung ist für eine effiziente und angepasste Nutzung der Befehlszeilenschnittstelle unerlässlich.

Scheit (#!) Linie

Jedes Shell-Skript beginnt mit einer Shebang-Zeile, die den Interpreter angibt, der das Skript ausführen soll.

Bei Bash-Skripten ist es üblicherweise #!/bin/bash.

#!/bin/bash

Kommentare

Verwenden Sie #, um Kommentare zu Ihrem Skript hinzuzufügen. Kommentare dienen der Lesbarkeit und werden von der Shell ignoriert.

# This is a comment

Variablen

Variablen speichern Daten in einem Skript. Verwenden Sie den Zuweisungsoperator (=) ohne Leerzeichen, um Variablen Werte zuzuweisen.

greeting="Hello, Shell!"

Benutzereingabe

Verwenden Sie den Befehl read, um Benutzereingaben während der Skriptausführung abzurufen.

read -p "Enter your name: " username

Echo

Der Befehl echo wird verwendet, um die Ausgabe an das Terminal zu drucken, das häufig für die Anzeige von Nachrichten oder Variablenwerten verwendet wird.

echo "Welcome, $username!"

Bedingte Anweisungen

Verwenden Sie if, elif und else für die Entscheidungsfindung in Skripten.

if [ condition ]; then
  # code to execute if the condition is true
else
  # code to execute if the condition is false
fi

Schlingen

Verwenden Sie for- und while-Schleifen für die wiederholte Ausführung von Befehlen.

for i in {1..5}; do
  # code to repeat five times
done

Funktionen

Kokapseln Sie Code in Funktionen, um Modularität und Wiederverwendbarkeit zu gewährleisten.

function greet {
  echo "Hello, $1!"
}
greet "John"

Status des Beendens

Befehle geben einen Beendigungsstatus zurück. Verwenden Sie $?, um zu überprüfen, ob der letzte Befehl erfolgreich war (Beendigungsstatus 0) oder ob ein Fehler aufgetreten ist.

if [ $? -eq 0 ]; then
  echo "Command executed successfully."
else
  echo "Error during command execution."
fi

Datei-Berechtigungen

Wenn Sie mit vertraulichen Vorgängen in Skripts arbeiten, verwenden Sie den Befehl chmod, um die entsprechenden Berechtigungen für die Datei festzulegen.

chmod +x myscript.sh

Informationen zum Shell-Skript

Ein Shell-Skript ist einfach eine Textdatei mit der Erweiterung ".sh", die über ausführbare Berechtigungen verfügt.

Hier sind einige Tipps, die Sie durch den Prozess des Schreibens und Ausführens eines Skripts führen:

  • Beginnen Sie Ihr Skript mit einer Shebang-Zeile (#!/bin/bash), um den Interpreter anzugeben.
  • Fügen Sie Kommentare hinzu, um den Zweck Ihres Skripts zu erläutern, insbesondere bei komplexen oder langwierigen Codesegmenten.
  • Verwenden Sie den Befehl echo, um die Meldung "Hallo, Welt!"-Nachricht an das Terminal.
  • Stellen Sie vor der Ausführung sicher, dass Ihr Skript über die erforderlichen Berechtigungen verfügt, indem Sie den Befehl chmod verwenden, z. B. chmod +x script.sh.

"So sieht Ihr erstes Shell-Skript aus."

#!/bin/bash
My first script

echo "Hello World!"

Speichern Sie die obigen Zeilen in einer Textdatei, machen Sie sie ausführbar und führen Sie sie wie oben beschrieben aus.

Schreiben eines zweiten Drehbuchs

In Ordnung, es ist an der Zeit, mit dem nächsten Skript fortzufahren, das Ihren "Benutzernamen" anzeigt und die aktuell laufenden Prozesse auflistet.

#! /bin/bash
echo "Hello $USER"
echo "Hey i am" $USER "and will be telling you about the current processes"
echo "Running processes List"
ps

War das cool? Das Schreiben eines Skripts ist so einfach wie das Konzipieren einer Idee und das Verfassen einer Abfolge von Befehlen. Es gibt jedoch einige Einschränkungen. Shell-Skripte zeichnen sich durch prägnante Dateisystemoperationen und Skripterstellung für die Integration vorhandener Funktionen durch Filter und Befehlszeilentools über Pipes aus.

Wenn Ihre Anforderungen darüber hinausgehen, sei es in Bezug auf Funktionalität, Robustheit, Leistung, Effizienz usw., dann ist der Übergang zu einer Sprache mit umfangreicheren Funktionen ratsam.

Wenn Sie bereits mit C/Perl/Python oder einer anderen Programmiersprache vertraut sind, sollte es keine allzu große Herausforderung sein, Kenntnisse in einer Skriptsprache zu erwerben.

Schreiben des dritten Drehbuchs

Lassen Sie uns unser drittes und letztes Skript für diesen Artikel schreiben. Dieses Skript funktioniert als interaktives Skript. Versuchen Sie nicht, dieses einfache, aber interaktive Skript selbst auszuführen und Ihre Erfahrungen mit uns zu teilen.

#! /bin/bash
echo "Hey what's Your First Name?";
read a;
echo "welcome Mr./Mrs. $a, would you like to tell us, Your Last Name";
read b;
echo "Thanks Mr./Mrs. $a $b for telling us your name";
echo "*******************"
echo "Mr./Mrs. $b, it's time to say you good bye"

Nun, das ist noch nicht das Ende. Wir haben versucht, Sie in die Grundlagen des Scriptings einzuführen. In unseren zukünftigen Artikeln werden wir tiefer in das Thema Skriptsprachen eintauchen – ein riesiges und sich ständig weiterentwickelndes Feld – um ein umfassenderes Verständnis zu vermitteln.

Ihre wertvollen Gedanken in den Kommentaren werden sehr geschätzt. Bitte liken und teilen, um uns zu helfen, ein breiteres Publikum zu erreichen. Bis dahin, entspannen Sie sich, bleiben Sie in Verbindung und bleiben Sie dran.

Verwandte Artikel: