Linux/Shells und Shell-Skripte: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
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.