Skip to content

Lokale Aliase in der Bash definieren

Die Bash (/bin/bash) lässt sich einfach mit Alias und Funktionen erweitern. Standardmäßig wird die ~/.profile beim Login geladen. Diese wiederum ladet die ~/.bashrc. In der ~/.bashrc ist definiert, wenn die Datei ~/.bash_aliases existiert, soll auch diese geladen werden.

Dies nutzen wir und werden uns einige nützliche Aliase und Funktionen definieren. Die hier gesetzten Aliase sind eigentlich selbsterklärend. Sie vereinfachen uns die Befehle in der Shell bzw. verkürzen diese, um nicht so viel zu tippen. Der Alias functions durchsucht die Datei ~/.bash_aliases nach definierte Funktionen und listet deren Namen auf.

Aliase können keine Argumente entgegen nehmen, Funktionen schon. In diesem Beispiel erstellen wir uns eine Funktion, die Informationen eines SSL Zertifikat eines definierten Servers anzeigt. Als Argument wird der Servername angegeben.

# $File: ~/.bash_aliases $

# Some nice aliases
alias vi="vim"
alias ls="ls --color=auto"
alias l="ls -l"
alias ll="ls -la"
alias ..="cd ../"
alias ...="cd ../../"
alias functions="awk '\$0 ~ /^function.*/ {print \$2}' $HOME/.bash_aliases"

# some nice functions
function checkdomain() {

if [ ! -n "$1" ]; then
        return 1
else
        echo | \
                openssl s_client -servername ${1} -connect ${1}:443 2>/dev/null | \
                openssl x509 -noout -text | \
                grep -E 'Not|Subject:|DNS|Issuer' | sed -e 's/^[ \t]*/\t/'
fi

}

# vim: syntax=bash ts=2 sw=2 sts=2 sr noet
# EOF

Hinweis

Nachdem wir unsere Aliase in der ~/.bash_aliases definiert haben, melden wir uns ab und wieder an, damit die Aliase und Funktionen der Bash zur Verfügung stehen.

Möchte man wissen, welche Aliase überhaupt in der Bash existieren, gibt man einfach alias ein und man bekommt eine Auflistung aller zur Verfügung stehenden Aliase. Geben wir unseren selbst definierten Alias funtions ein, werden alle selbst definierten Funktionen aus der ~/.bash_aliases aufgelistet.

Testen wir nun unsere selbst definierte Funktion checkdomain(). Wir geben als Argument einen beliebigen Servernamen an, um Informationen von dessen SSL Zertifikat anzuzeigen.

tux@earth:~$ checkdomain www.tuxnet24.de
        Issuer: C = US, O = Let's Encrypt, CN = R3
        Not Before: Dec  6 18:24:16 2022 GMT
        Not After : Mar  6 18:24:15 2023 GMT
        Subject: CN = *.tuxnet24.de
        CA Issuers - URI:http://r3.i.lencr.org/
        DNS:*.tuxnet24.de, DNS:tuxnet24.de