Bash Programmierung: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(30 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Die Geschichte der Shells =
+
=Allgemeines=
 
+
*[[Thomas Will]]
* Shells dienen als Interface zwischen den Programmen und dem Kernel
+
*[[Zeiten]]
* Die erste Shell für Unix war die ''Thompson shell'' ('''sh''').
+
=Themen=
* Sie wurde 1971 von Ken Thompson geschrieben und war sehr minimalistisch gehalten
+
*[[Bash Programmierung Inhalt]]
* Das Konzept von [[Bash Pipe|Pipes]] wurde eingeführt, aber das Ausführen von Skripten war nicht unterstützt
+
<!-- == Tag 1 ==  -->
* 1979 wurde die Bourne Shell (auch '''sh''') von Stephen Bourne veröffentlicht
+
* [[Die Geschichte der Shells]]
* Sie soll als direkter Nachfolger der Thompson shell mit Skripting-Features dienen:
+
* [[Ziele des IT Trainings Bash Programmierung]]
** Shell Skripte können wie Programme aufgerufen werden und in Pipelines benutzt werden
+
* [[Arten von Shells]]
** Kontrollfluss: [[Bash Der if-Block|if]], [[Bash Der case-Block|case]], [[Bash Die for-Schleife|for]], ...
+
* [[Prinzip der Bash]]
** Deinieren von (Umgebungs-)Variablen
+
* [[Unterschiede zwischen bash und powershell]]
** Kontrolle über die Verarbeitung von [[Bash Signalverarbeitung|Signalen]] in Skripten
+
* [[Skript Interpreten in Linux]]
** kein Stringlängenlimit für Shell Skripte
+
* [[Möglichkeiten ein Shellskript aufzurufen]]
* Der Code der Bourne Shell war jedoch proprietär, weshalb Brian Fox 1989 die freie Software Bash shell ('''bash''') unter der GNU Lizenz veröffentlicht
 
* Der Name ist ein doppeltes Wortspiel auf "born again" (wiedergeborene Shell) und "Bourne ... again" (schon wieder Bourne Shell)
 
* Diese Version implemenierte weitere Features wie:
 
** Deinieren von Funktionen
 
**
 
 
 
* [[Einfache Shellsonderzeichen]]
 
* [[Ein paar Kommandos]]
 
 
* [[Bash Eingabe/Ausgabe]]
 
* [[Bash Eingabe/Ausgabe]]
 
* [[Bash Pipe]]
 
* [[Bash Pipe]]
 
+
* [[Einfache Shellsonderzeichen]]
= Tag 2 =
 
 
* [[Jokerzeichen/Wildcard]]
 
* [[Jokerzeichen/Wildcard]]
* [[Prinzip der Bash]]
+
* [[Ein paar Kommandos]]
* [[Skript Interpreten in Linux]]
+
* [[Kommandolokalisierung]]
 +
* [[Bash ssh in Programmen nutzen]]
 +
<!-- == Tag 2 == -->
 
* [[Ablauf eines Shell-Skriptes]]
 
* [[Ablauf eines Shell-Skriptes]]
* [[Möglichkeiten ein Shellskript aufzurufen]]
 
 
* [[Bash Variablen]]
 
* [[Bash Variablen]]
 
* [[Bash Dateien]]
 
* [[Bash Dateien]]
 
* [[Here Dokument]]
 
* [[Here Dokument]]
 +
* [[Here String]]
 
* [[read-Kommando]]
 
* [[read-Kommando]]
* [[Einfache Verzweigungen]]
 
 
* [[Endestatus]]
 
* [[Endestatus]]
 +
* [[Bash Einfache Verzweigungen]]
 
* [[test-Kommando]]
 
* [[test-Kommando]]
* [[Optionen der Bash]]
+
* [[Bash Das neue Test Kommando]]
 +
* [[Rechnen mit der Bash]]
 +
<!-- == Tag 3 == -->
 +
<!-- == Tag 4 == -->
 
* [[Bash Der if-Block]]
 
* [[Bash Der if-Block]]
 
* [[Bash Der case-Block]]
 
* [[Bash Der case-Block]]
* [[Rechnen mit der Bash]]
 
 
* [[Bash Die while-Schleife]]
 
* [[Bash Die while-Schleife]]
 
* [[Bash Die until-Schleife]]
 
* [[Bash Die until-Schleife]]
Zeile 45: Zeile 40:
 
* [[Bash Steuerung der Ablaufanweisungen]]
 
* [[Bash Steuerung der Ablaufanweisungen]]
 
* [[Bash funktion]]
 
* [[Bash funktion]]
 +
* [[cron]]
 
* [[Bash Signalverarbeitung]]
 
* [[Bash Signalverarbeitung]]
 +
<!-- == Tag 5 == -->
 +
* [[Bash printf]]
 
* [[Aliase]]
 
* [[Aliase]]
 +
* [[Prozesse]]
 
* [[Bash Filedeskriptoren]]
 
* [[Bash Filedeskriptoren]]
 
* [[Bash Farben]]
 
* [[Bash Farben]]
 
* [[Bash getopts]]
 
* [[Bash getopts]]
* [[Bash printf]]
+
* [[Bash eval]]
* [[Bash Das neue Test Kommando]]
+
* [[Optionen der Bash]]
* [[sed]]
+
* [[Bit Operationen mit der Bash]]
* [[awk]]
+
* [[Bash Skripte]]
* [[cron]]
+
* [[Mail Kommando]]
 +
* [[Bash Passwort generieren]]
 +
* [[Bash Alter eine Datei]]
 +
* [[Ssh VPN]]
 +
* [[Aufgaben gesamt]]
  
 
= Links=
 
= Links=
 
 
* http://openbook.rheinwerk-verlag.de/shell_programmierung/
 
* http://openbook.rheinwerk-verlag.de/shell_programmierung/
 
* http://mywiki.wooledge.org/BashFAQ/031
 
* http://mywiki.wooledge.org/BashFAQ/031

Aktuelle Version vom 9. Juni 2023, 06:25 Uhr