# Beispiel-Konfig-File für bash # # 22.3.2006 umask 077 if [[ -n $PS1 ]] then # interaktive Shell # stty erase  stty kill "^U" intr "^C" eof "^D" susp "^Z" hupcl ixon ixoff -tostop -istrip # Bash-spezifische Einstellungen if (($UID)) then # Prompt-Zeichen für Nicht-Root-Nutzer ist > pschar='$>' else # Prompt-Zeichen für Root-Nutzer ist # # Bei der Bash müssen wir im Gegensatz zur Z-Shell das $-Zeichen im # Prompt-String quotieren. pschar='\\$#' # Anmerkung: $pschar, also die Zeichenfolge # \\$# # wird unten in den Wert von PS1 übernommen. Dabei wird \\ von der # Prompt-String-Dekodierung als Backslash gewertet. Nach der # Dekodierung steht also die Zeichenfolge # \$# # in PS1. Diese wird wegen der gesetzten Option promptvars zu # $# # expandiert. Würde der Backslash fehlen, würde $# durch die Anzahl der # Positionsparameter ersetzt. fi [[ -f /etc/bashrc ]] && source /etc/bashrc unset BASH_ENV if [[ $TERM == xterm* ]] then # Hinweis: Alle Zeichen, die bei ihrer Ausgabe keinen Platz auf dem # Bildschirm einnehmen, sind in \[ und \] einzuschließen, weil sonst die # readline-Bibliothek nicht ordentlich arbeiten kann. PS1="\[\e]2;\h:\w\a\e[7m\]\u@\h\[\e[0m\] \! $pschar " else PS1="\[\e[7m\]\u@\h\[\e[0m\] \W \! $pschar " fi HISTSIZE=20000 HISTFILESIZE=$HISTSIZE HISTTIMEFORMAT="(%d.%m.%Y) %H:%M " HISTCONTROL=ignoredups HISTFILE=~/.bash_history unset IGNOREEOF shopt -s cmdhist shopt -s lithist shopt -s cdspell shopt -u nocaseglob shopt -s promptvars set -o noclobber set -P fi export EDITOR=vim export LESSSECURE=1 export PAGER='less -Q' unalias ls 2>/dev/null function ls { /bin/ls --color=never "$@" } # interne Funktion zum Durchsuchen der Prozess-Status-Liste function psg_intern() { $PS_CMD | sed 1d | $1 "$2" | fgrep -v "$1 $2" } # ps grep -- Ausgabe von ps nach AWK-Muster durchsuchen function psg() { psg_intern awk "/$1/" } # analog psg(), aber ohne Unterscheidung Groß-/Kleinschreibung function psgi() { psg_intern 'awk -v IGNORECASE=1' "/$1/" } alias ..='cd ..' alias db=delbak alias dc=cd alias delbak='rm *.bak' alias l='ls -l' alias less='less -Q' alias lt='ls -ltr' alias mcopy='mcopy -v' alias v='xdvi -geometry 1100x820' # interne Funktion zur Überprüfung des PIPESTATUS # $1 --> PIPESTATUS # $2 --> optional; falls "0", dann Fehlermeldung unterdrücken function check_pipe_error_intern() { local i=1 rc for rc in $1 do if ((rc)) then [[ $2 != 0 ]] && echo "Fehler bei Pipe-Kommando $i (Rueckgabewert: $rc)" return 1 fi ((i++)) done return 0 } # Überprüfung des PIPESTATUS, um einen Fehler in einer Pipe aufzuspüren function check_pipe_error() { check_pipe_error_intern "${PIPESTATUS[*]}" $1 } >&2