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:// | ||