Linux/Shells und Shell-Skripte: Unterschied zwischen den Versionen

Aus Foxwiki
TomUlbrich (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
TimothyKho (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
==Was ist eine Shell==
==Was ist eine Shell==
Eine Shell ist ein textbasiertes Programm, dass als Schnittstelle zwischen Benutzer und Computer fungiert. Der Benutzer kann durch die Shell mit dem Kernel kommunizieren. Da der englische Begriff Kernel zu Deutsch Kern heißt und eine Shell eine Schale ist, wird wohl sehr schnell klar, wie diese beiden Fachbegriffe entstanden sind und wo eine solche Shell im System-Gefüge angesiedelt ist. Eine weitere Aufgabe von Shells ist es, als Umgebung für die Ausführung von Skripten und Programmen zu dienen. Außerdem verstehen Shells unterschiedliche Befehle, so dass man sie im weitesten Sinne auch noch als Programmierumgebung betrachten kann. Die am weitesten verbreitete Shell ist die "bash" (Bourne Again Shell). Dieser Begriff ist ein Wortspiel: Zum einen handelt es sich, phonetisch betrachtet, um eine wiedergeborene Shell (born again shell), zum anderen ist sie schon wieder (again) eine Bourne-Shell. Sie ist nämlich vollständig abwärtskompatibel zu "sh", die Stephen Bourne bereits 1977 programmierte. "sh" ist der Vorfahre der heute weit verbreiteten Bash.
Eine Shell ist ein textbasiertes Programm, dass als Schnittstelle zwischen Benutzer und Computer fungiert. Der Benutzer kann durch die Shell mit dem Kernel kommunizieren. Da der englische Begriff Kernel zu Deutsch Kern heißt und eine Shell eine Schale ist, wird wohl sehr schnell klar, wie diese beiden Fachbegriffe entstanden sind und wo eine solche Shell im System-Gefüge angesiedelt ist. Eine weitere Aufgabe von Shells ist es, als Umgebung für die Ausführung von Skripten und Programmen zu dienen. Außerdem verstehen Shells unterschiedliche Befehle, so dass man sie im weitesten Sinne auch noch als Programmierumgebung betrachten kann. Die am weitesten verbreitete Shell ist die "bash" (Bourne Again Shell). Dieser Begriff ist ein Wortspiel: Zum einen handelt es sich, phonetisch betrachtet, um eine wiedergeborene Shell (born again shell), zum anderen ist sie schon wieder (again) eine Bourne-Shell. Sie ist nämlich vollständig abwärtskompatibel zu "sh", die Stephen Bourne bereits 1977 programmierte. "sh" ist der Vorfahre der heute weit verbreiteten Bash.
=Allgemeines=
 
=Einfache Skripte anpassen oder schreiben=
 
==Allgemeines==
Für die Benennung des Skriptes, ist es sehr wichtig '''keine''' Sonderzeichen einzufügen, sowie vorhandene Befehle zu benutzen. Allgemein werden Skripte meist in Textdateien geschrieben.
Für die Benennung des Skriptes, ist es sehr wichtig '''keine''' Sonderzeichen einzufügen, sowie vorhandene Befehle zu benutzen. Allgemein werden Skripte meist in Textdateien geschrieben.
==Wichtige Inhalte in einem Skript==
===Wichtige Inhalte in einem Skript===
*Standard-Syntax verwenden (sh)
*Standard-Syntax verwenden (sh)
*Kommandosubstitutionen verwenden
*Kommandosubstitutionen verwenden
Zeile 14: Zeile 17:
**-> Zunächst zeigt es die Festplattenbelegung, anschliessend die Speicherverwendung
**-> Zunächst zeigt es die Festplattenbelegung, anschliessend die Speicherverwendung
sowie einige weitere
sowie einige weitere
==Position eines Skriptes==
===Position eines Skriptes===
Falls man ein Skript öfter benötigt, wäre es sinnvoll ein Verzeichnis auszuwählen, dass auf die PATH-Variable zeigt.
Falls man ein Skript öfter benötigt, wäre es sinnvoll ein Verzeichnis auszuwählen, dass auf die PATH-Variable zeigt.
*/usr/bin ist gut geeignet für systemweite und jeden zugänglich
*/usr/bin ist gut geeignet für systemweite und jeden zugänglich
*/usr/sbin ist gut geeignet für durchgeführte administrative Eingriffe oder auch nicht für normale Benutzer anwendbar sein sollen
*/usr/sbin ist gut geeignet für durchgeführte administrative Eingriffe oder auch nicht für normale Benutzer anwendbar sein sollen
==Wichtige Dateien, Verzeichnisse und Anwendungen==
===Wichtige Dateien, Verzeichnisse und Anwendungen===
{|class="wikitable"
{|class="wikitable"
!Zeichen !! Beschreibung  
!Zeichen !! Beschreibung  
Zeile 41: Zeile 44:
|}
|}
sowie einige weitere
sowie einige weitere
==Grundrechenarten==
===Grundrechenarten===
Es gibt vier verschiedene Grundrechenarten, mit denen man im Skripten arbeiten und rechnen kann.
Es gibt vier verschiedene Grundrechenarten, mit denen man im Skripten arbeiten und rechnen kann.
*[a]ddieren
*[a]ddieren
Zeile 47: Zeile 50:
*[m]ultiplizieren
*[m]ultiplizieren
*[d]ividieren
*[d]ividieren
==Sonstiges==
===Sonstiges===
Mit Exec kann man ein externes Programm oder ein anderes Skript aufrufen, dabei wird der laufenden Prozess / das laufende Skript automatisch beendet und ersetzt.
Mit Exec kann man ein externes Programm oder ein anderes Skript aufrufen, dabei wird der laufenden Prozess / das laufende Skript automatisch beendet und ersetzt.

Version vom 12. Juli 2019, 10:03 Uhr

Die Shell-Umgebung anpassen und verwenden

Was ist eine Shell

Eine Shell ist ein textbasiertes Programm, dass als Schnittstelle zwischen Benutzer und Computer fungiert. Der Benutzer kann durch die Shell mit dem Kernel kommunizieren. Da der englische Begriff Kernel zu Deutsch Kern heißt und eine Shell eine Schale ist, wird wohl sehr schnell klar, wie diese beiden Fachbegriffe entstanden sind und wo eine solche Shell im System-Gefüge angesiedelt ist. Eine weitere Aufgabe von Shells ist es, als Umgebung für die Ausführung von Skripten und Programmen zu dienen. Außerdem verstehen Shells unterschiedliche Befehle, so dass man sie im weitesten Sinne auch noch als Programmierumgebung betrachten kann. Die am weitesten verbreitete Shell ist die "bash" (Bourne Again Shell). Dieser Begriff ist ein Wortspiel: Zum einen handelt es sich, phonetisch betrachtet, um eine wiedergeborene Shell (born again shell), zum anderen ist sie schon wieder (again) eine Bourne-Shell. Sie ist nämlich vollständig abwärtskompatibel zu "sh", die Stephen Bourne bereits 1977 programmierte. "sh" ist der Vorfahre der heute weit verbreiteten Bash.

Einfache Skripte anpassen oder schreiben

Allgemeines

Für die Benennung des Skriptes, ist es sehr wichtig keine Sonderzeichen einzufügen, sowie vorhandene Befehle zu benutzen. Allgemein werden Skripte meist in Textdateien geschrieben.

Wichtige Inhalte in einem Skript

  • Standard-Syntax verwenden (sh)
  • Kommandosubstitutionen verwenden
  • verkettete Kommandos ausführen
    • es werden mehrere Befehle in einer einzigen Befehlszeile ausgeführt
    • werden mit einem Semikolon (;) getrennt.
    • Beispiel: archangel:/ # df -h;free -m
    • -> Zunächst zeigt es die Festplattenbelegung, anschliessend die Speicherverwendung

sowie einige weitere

Position eines Skriptes

Falls man ein Skript öfter benötigt, wäre es sinnvoll ein Verzeichnis auszuwählen, dass auf die PATH-Variable zeigt.

  • /usr/bin ist gut geeignet für systemweite und jeden zugänglich
  • /usr/sbin ist gut geeignet für durchgeführte administrative Eingriffe oder auch nicht für normale Benutzer anwendbar sein sollen

Wichtige Dateien, Verzeichnisse und Anwendungen

Zeichen Beschreibung
for
&& bei diesem Zeichen wird der zweite Befehl nur ausgeführt, wenn der erste erfolgreich war
|| bei diesem Zeichen wird der zweite Befehl nur ausgeführt, wenn der erste fehlgeschlagen ist
while
test
read
if
seq
exec Erklärung im unteren Teil des Artikels. (Sonstiges)

sowie einige weitere

Grundrechenarten

Es gibt vier verschiedene Grundrechenarten, mit denen man im Skripten arbeiten und rechnen kann.

  • [a]ddieren
  • [s]ubtrahieren
  • [m]ultiplizieren
  • [d]ividieren

Sonstiges

Mit Exec kann man ein externes Programm oder ein anderes Skript aufrufen, dabei wird der laufenden Prozess / das laufende Skript automatisch beendet und ersetzt.