Benutzer-Werkzeuge

Webseiten-Werkzeuge


bash

Dies ist eine alte Version des Dokuments!


Bash

Umleiten der Ausgabe

stdout → Datei

programm > datei.txt

stderr → Datei

programm 2> datei.txt

stdout und stderr → Datei

programm &> datei.txt

Erweiterung von Dateiname entfernen

# name without extension
name=${filename%\.*}

Bulk-Rename

Um mehrere Dateien auf einmal umzubenennen (zum Beispiel ap2 in allen Dateien durch ap3 zu ersetzen):

for file in ap2* ; do mv $file `echo $file | sed 's/ap2/ap3/'`; done

Um die Umbenennung vorher gefahrlos zu testen, kann man ein echo einfügen:

for file in ap2* ; do echo mv $file `echo $file | sed 's/ap2/ap3/'`; done

Verzeichnis, aus dem Script gestartet wurde

DIR="$( cd "$( dirname "$0" )" && pwd )"

Gezieltes Blättern in der History

Um gezieltes Blättern oder Suchen in der History zu aktiveren, muss in /etc/inputrc

# search the history with arrow-up and arrow-down
"\e[A": history-search-backward
"\e[B": history-search-forward

eingefügt werden. Dann kann man den Anfang eines schonmal eingegebenen Befehls eingeben und mit Pfeil-Hoch und -Runter den richtigen aussuchen.

Wenn dies nur für einen einzelnen Benutzer aktiviert werden soll, werden die Befehle in ~/.inputrc geschrieben. Um die Einstellungen aus /etc/inputrc trotzdem zu laden, muss die Datei ~/.inputrc mit $include /etc/inputrc beginnen.

Nützliche Aliases

In der ~/.bash_aliases können Aliases für bestimmte Befehle definiert werden:

alias diff='colordiff' #use colored diff
alias less='less -R' #make less work with colordiff

up-Funktion zum schnellen Verzeichiswechel

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.

red='\e[0;31m'
NC='\e[0m' # No Color
echo -e "${red}Hello${NC}"

Folgende Farbcodes können verwendet werden:

Farbe Code Farbe Code
Black 0;30 Dark Gray 1;30
Blue 0;34 Light Blue 1;34
Green 0;32 Light Green 1;32
Cyan 0;36 Light Cyan 1;36
Red 0;31 Light Red 1;31
Purple 0;35 Light Purple 1;35
Brown/Orange 0;33 Yellow 1;33
Light Gray 0;37 White 1;37

weitere Informationen zu Kompatibilität, Blinken und mehr Farben

bash.1416488571.txt.gz · Zuletzt geändert: 2014/11/20 14:02 von olli