Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
bash [2015/10/04 20:24] root |
bash [2022/07/19 13:38] (aktuell) root [Übergabe an andere Programme] |
||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
- | ===== Navigation/ | + | ====== Navigation/ |
^Kombination ^Bedeutung ^ | ^Kombination ^Bedeutung ^ | ||
Zeile 14: | Zeile 14: | ||
|Strg+l|Lösche alle Eingaben auf dem Terminal -> entspricht clear| | |Strg+l|Lösche alle Eingaben auf dem Terminal -> entspricht clear| | ||
- | ===== Konstrukte ===== | + | ====== Konstrukte |
- | ==== for-each-Schleife ==== | + | ===== for-each-Schleife |
* Durchläuft die Schleife für alle Elemente eines Arrays/ | * Durchläuft die Schleife für alle Elemente eines Arrays/ | ||
Zeile 39: | Zeile 39: | ||
</ | </ | ||
- | ==== Programme aufrufen/ Andere Scripte aurufen ==== | + | |
+ | |||
+ | ===== for-Zählschleife ===== | ||
+ | |||
+ | * Geht nur ohne Variablen (mit festen Werten) direkt in Bash | ||
+ | |||
+ | Syntax: | ||
+ | < | ||
+ | for i in {x..y}; do | ||
+ | | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | Beispiel: | ||
+ | for i in {1..5}; do | ||
+ | Echo " | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | Obiges Beispiel gibt 5 mal Hallo aus. | ||
+ | |||
+ | * Mit Variablen muss man das externe " | ||
+ | |||
+ | Syntax: | ||
+ | < | ||
+ | for i in $(seq $a $b); do | ||
+ | code | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | Beispiel: | ||
+ | < | ||
+ | a=5 | ||
+ | for i in $(seq 1 $a); do | ||
+ | echo " | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | Obiges Beispiel gibt 5 mal Hallo aus | ||
+ | |||
+ | ===== Programme aufrufen/ Andere Scripte aurufen | ||
Syntax: // | Syntax: // | ||
Zeile 50: | Zeile 90: | ||
- | ===== Variablen ===== | + | ====== Variablen ====== |
- | ==== Arrays ==== | + | |
+ | ====== Arrays | ||
* Können Deklariert werden | * Können Deklariert werden | ||
Zeile 57: | Zeile 98: | ||
* += Fügt einen weiteren Wert dem Array hinzu (Bla+=Test) | * += Fügt einen weiteren Wert dem Array hinzu (Bla+=Test) | ||
- | ==== Associative Arrays/ | + | ===== Associative Arrays/ |
* Verfügbar ab Bash-Version 4 | * Verfügbar ab Bash-Version 4 | ||
Zeile 73: | Zeile 114: | ||
- | ==== Multidimensionale Arrays ==== | + | ===== Multidimensionale Arrays |
* Verfügbar ab Bash Version 4 | * Verfügbar ab Bash Version 4 | ||
Zeile 85: | Zeile 126: | ||
**Achtung: | **Achtung: | ||
- | ===== Operatoren ===== | + | ====== Operatoren |
^Operator ^Erklärung ^ | ^Operator ^Erklärung ^ | ||
Zeile 94: | Zeile 135: | ||
- | ===== Debugging/ | + | ====== Anführungszeichen und Single-Quotes ====== |
+ | |||
+ | * Zeichenketten in < | ||
+ | * < | ||
+ | * < | ||
+ | |||
+ | <sxh bash> | ||
+ | a=5 | ||
+ | echo " | ||
+ | 5 | ||
+ | </ | ||
+ | |||
+ | Die Zeichenkette hinter " | ||
+ | Dementsprechend wird " | ||
+ | |||
+ | <sxh bash> | ||
+ | a=5 | ||
+ | echo " | ||
+ | $a | ||
+ | </ | ||
+ | |||
+ | Die Zeichenkette hinter " | ||
+ | Dementsprechend wird " | ||
+ | |||
+ | ===== Übergabe an andere Programme ===== | ||
+ | |||
+ | Es gibt Programme die Shellkommandos übernehmen um sie dann beim eintreten bestimmter Bedingungen auszuführen. \\ | ||
+ | Man muss aufpassen ob man die Shell-Befehlskette die man übergibt in %%"%% oder %%'%% setzt! | ||
+ | |||
+ | <sxh bash> | ||
+ | mycommand -c "echo $a" | ||
+ | </ | ||
+ | |||
+ | * da der Wert für Parameter " | ||
+ | * ist " | ||
+ | |||
+ | |||
+ | <sxh bash> | ||
+ | mycommand -c 'echo $a' | ||
+ | </ | ||
+ | |||
+ | * da der Wert für Parameter " | ||
+ | * d.h. mycoomand bekommt "echo $a" übergeben | ||
+ | ====== Debugging/ | ||
- | ==== Validieren ==== | + | ===== Validieren |
* Überprüft syntaktische Korrektheit der Bash-Befehle | * Überprüft syntaktische Korrektheit der Bash-Befehle | ||
Zeile 104: | Zeile 188: | ||
- | ==== Debugausgaben ==== | + | ===== Debugausgaben |
* Gibt aus welche Befehle ausgeführt werden und welche Variablen wie belegt wurden | * Gibt aus welche Befehle ausgeführt werden und welche Variablen wie belegt wurden | ||
Zeile 111: | Zeile 195: | ||
- | ==== Debuging ==== | + | ===== Debuging |
* ermöglicht Schritt-für-Schritt-Ausführung von Scripten | * ermöglicht Schritt-für-Schritt-Ausführung von Scripten | ||
Zeile 127: | Zeile 211: | ||
|W|watchpoint \\ \\ Überwache eine bestimmte Variable und Stoppe an Stellen wo der Wert geändert wird \\ \\ Syntax: w // | |W|watchpoint \\ \\ Überwache eine bestimmte Variable und Stoppe an Stellen wo der Wert geändert wird \\ \\ Syntax: w // | ||
- | ===== Externe Informationen ===== | + | ====== Externe Informationen |
^Typ ^Name ^Beschreibung ^URL ^ | ^Typ ^Name ^Beschreibung ^URL ^ | ||
|Wiki|Bash-Hackers|Wiki über die Bash-Programmierung|http:// | |Wiki|Bash-Hackers|Wiki über die Bash-Programmierung|http:// |