====== BASH ====== Die [[wpde>Bash|(GNU-) Bourne-Again Shell]] ist bei den meisten Distributionen die Standard-shell. **Komfortmerkmale** * Kommandovervollständigung (-Taste), wenn die Eingabe nicht eindeutig ist werden bei mehrfachem drücken die Kandidaten angezeigt. * Befehlshistorie (''history'') löschen (''history -c'') * Befehle aus der Historie wieder zu verwenden (- bzw. mit der nach-oben-Pfeiltaste die Befehle durchblättern) sowie die Möglichkeit auf umfangreiche [[shellscripts:shellscripts|Scripting-Fähigkeiten]] zurückzugreifen macht das arbeiten auch jenseits von grafischen Benutzeroberflächen komfortabel. * - löscht den Bildschirm ===== Konfiguration ===== Die Konfiguration wird in zwei Dateien abgelegt: - ''.bash_profile'' enthält Einstellungen die nur beim Login eingelesen werden - ''.bashrc'' enthält Einstellungen die bei jedem Start eines Terminals oder einer [[Shells|Shell]] ausgewertet werden. dort kann man Aliase o.ä. einstellen. Siehe [[http://www.easylinux.de/2004/07/082-bash/|Shell konfigurieren - Schleichwege]]. ===== Einstellungen festlegen ===== Konfigurationsdateien **Login-Shell**: * /etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile **Nicht-Login-Shell**: * /etc/bash.bashrc, ~/.bashrc **Systemweit**: als root entweder in * ''/etc/profile'' oder in * ''/etc/bash.bashrc'' editieren. **Benutzerspezifisch**: Jeder Benutzer kann natürlich auch seine eigene Bash-Konfiguration festlegen: * ''~/.bashrc'' oder * ''~/.bash_profile'' (hier Variablen mit EXPORT VAR="Wert"!) ==== Login-Prompt ==== Servername rot ansonsten alles schwarz: PS1='\u@\[\033[01;31m\]\h\[\033[0;30m\]:\w\$ ' * [[http://wiki.ubuntuusers.de/Bash/Prompt|Prompt @ubuntuusers]] ===== Aliase ===== mit dem Befehl ''alias'' kann man eine Abkürzung für oft gebraucht Befehle anlegen, z.B. alias l='ls $LS_OPTIONS -lA' alias ls='ls $ls_OPTIONS' alias ll='ls $ls_OPTIONS -l' alias la='ls $ls_OPTIONS -lA' alias lh='ls $ls_options -h -l' alias listening='sudo netstat -l -n -p -t -u -w' alias agi='sudo aptitude install $aptoptions $aptoptions2' alias agu='sudo aptitude update && sudo aptitude upgrade' alias agr='sudo aptitude remove $prog $prog2' alias msg='tail -f /var/log/messages | loco' alias search='find . -type f | xargs egrep -i "$string"' alias empty='cat $1 | grep -v "#" | sed -e '/^$/d'' alias ipf='iperf -P 1 -i 1 -p 5001 -w 56K -f k -t 10 -c' alias duh='du -h --max-depth=1' alias post='tail -n 100 /var/log/mail.info | loco ' Die Zeichenketten beginned mit "$" sind Variablennamen, die die Möglichkeit geben der Abkürzung/dem Alias noch zusätzliche Parameter mitzugeben. :!: Rückgängig machen geht mit ''unalias'' ===== Links ===== * [[http://home.arcor.de/dfcgen/refcards/bash.pdf|Bash-Scripting Kurzreferenz]] * [[http://www.linux.org/docs/ldp/howto/Bash-Prompt-HOWTO/|Bash Prompt HOWTO]] * **[[http://bash-hackers.org/wiki/doku.php/|Bash Hackers Wiki]]** * [[http://www.ibm.com/developerworks/linux/library/l-tip-prompt/|Tip: Prompt magic]] * [[http://www.delight.ch/linux/bash-script-howto/Kap05.html#m5|spezielle Bash-Variablen]] * [[http://www.deadman.org/bash.html|Deadmans “Advancing in the Bash Shell”]] * [[http://www.unixguide.net/unix/bash/|BASH FAQ]] * [[http://www.ijon.de/comp/tutorials/bash.html|bash und readline für Nicht-mehr-Anfänger]] * [[http://www.tldp.org/LDP/abs/html/sample-bashrc.html|A Sample .bashrc File]] * [[http://www.gossiplabs.org/log4bash.html|log4bash]]