bash
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
bash [2013/04/07 20:24] – olli | bash [2024/03/03 18:19] (aktuell) – olli | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Bash ====== | ====== Bash ====== | ||
+ | |||
+ | ===== Umleiten der Ausgabe ===== | ||
+ | stdout -> Datei | ||
+ | <code bash> | ||
+ | programm > datei.txt | ||
+ | </ | ||
+ | stderr -> Datei | ||
+ | <code bash> | ||
+ | programm 2> datei.txt | ||
+ | </ | ||
+ | stdout **und** stderr -> Datei | ||
+ | <code bash> | ||
+ | programm &> datei.txt | ||
+ | </ | ||
===== Erweiterung von Dateiname entfernen ===== | ===== Erweiterung von Dateiname entfernen ===== | ||
<code bash> | <code bash> | ||
Zeile 21: | Zeile 35: | ||
===== Gezieltes Blättern in der History ===== | ===== Gezieltes Blättern in der History ===== | ||
- | Um gezieltes Blättern oder Suchen in der History zu aktiveren, muss in / | + | Um gezieltes Blättern oder Suchen in der History zu aktiveren, muss in '' |
<code bash> | <code bash> | ||
# search the history with arrow-up and arrow-down | # search the history with arrow-up and arrow-down | ||
Zeile 27: | Zeile 41: | ||
" | " | ||
</ | </ | ||
- | eingefügt werden. Dann kann man den Anfang eines schonmal | + | eingefügt werden. Dann kann man den Anfang eines schon mal eingegebenen Befehls eingeben und mit Pfeil-Hoch und -Runter den gewünschten |
- | Wenn dies nur für einen einzelnen Benutzer aktiviert werden soll, werden die Befehle in ~/.inputrc geschrieben. Um die Einstellungen aus / | + | Wenn dies nur für einen einzelnen Benutzer aktiviert werden soll, werden die Befehle in '' |
beginnen. | beginnen. | ||
- | ===== Nützliche | + | ===== Aliases ===== |
- | In der ~/ | + | In der '' |
+ | |||
+ | Beispiel: | ||
+ | <code bash> | ||
+ | alias ls='ls --color=auto' | ||
+ | </ | ||
+ | |||
+ | Mit '' | ||
+ | |||
+ | Beispiel: | ||
+ | <code bash> | ||
+ | $ type ls | ||
+ | ls is aliased to `ls --color=auto' | ||
+ | </ | ||
+ | |||
+ | Um den Befehl ohne den Alias auszuführen, | ||
+ | * Backslash: '' | ||
+ | * command: '' | ||
+ | * Voller Pfad: ''/ | ||
+ | * Anführungszeichen: | ||
+ | |||
+ | ==== Nützliche Aliases ==== | ||
<code bash> | <code bash> | ||
alias diff=' | alias diff=' | ||
alias less=' | alias less=' | ||
+ | alias ls='ls --color=auto' | ||
+ | alias ll='ls -al' #show long ls format | ||
</ | </ | ||
- | [[http:// | + | [[https:// |
+ | <code bash> | ||
+ | # Go up directory tree X number of directories | ||
+ | function up() { | ||
+ | COUNTER=" | ||
+ | # default $COUNTER to 1 if it isn't already set | ||
+ | if [[ -z $COUNTER ]]; then | ||
+ | COUNTER=1 | ||
+ | fi | ||
+ | # make sure $COUNTER is a number | ||
+ | if [ $COUNTER -eq $COUNTER 2> /dev/null ]; | ||
+ | then nwd=`pwd` # Set new working directory (nwd) to current directory | ||
+ | # Loop $nwd up directory tree one at a time | ||
+ | until [[ $COUNTER -lt 1 ]]; do | ||
+ | nwd=`dirname $nwd` | ||
+ | let COUNTER-=1 | ||
+ | done | ||
+ | cd $nwd # change directories to the new working directory | ||
+ | else | ||
+ | # print usage and return error | ||
+ | echo " | ||
+ | return 1 | ||
+ | fi | ||
+ | } | ||
+ | </ | ||
+ | ===== Farbige Ausgabe ===== | ||
+ | Mit Escapesequenzen für das VT100-Terminal kann die Ausgabe eingefärbt werden. Wichtig ist dabei das -e, sonst werden Escapesequenzen nicht als solche ausgewertet. | ||
+ | <code bash> | ||
+ | red=' | ||
+ | NC=' | ||
+ | echo -e " | ||
+ | </ | ||
+ | Folgende Farbcodes können verwendet werden: | ||
+ | ^Farbe ^Code ^Farbe ^Code ^ | ||
+ | |Black | ||
+ | |Blue | ||
+ | |Green | ||
+ | |Cyan | ||
+ | |Red |0;31 | ||
+ | |Purple | ||
+ | |Brown/ | ||
+ | |Light Gray | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===== Debugging ===== | ||
+ | Um Bash-Skripte zu debuggen, können sie mit '' | ||
+ | <code bash> | ||
+ | bash -x ./ | ||
+ | </ | ||
+ | oder im Skript | ||
+ | <code bash> | ||
+ | set -x | ||
+ | </ | ||
+ | gesetzt werden. | ||
+ | Für weitere Logging- und Debugmöglichkeiten siehe [[https:// | ||
+ | |||
{{tag> | {{tag> | ||
bash.1365359074.txt.gz · Zuletzt geändert: 2013/04/07 20:24 von olli