Inhaltsverzeichnis

PC-Spielereien

Wie ermittelt ein Script seinen eigenen Namen?

Es ist ja bekannt, dass der Name unter "$0" gespeichert ist. Aber wenn ./myscript.sh aufgerufen wird, liefert dirname $0 das wenig aussagekräftige ./ zurück. Was tun? Man setzt seine eigene Variable, z. B. ME="$(readlink -f $(type -p "$0" || echo "$0"))", danach kann man mit dirname $ME auf den „richtigen“ Pfad zugreifen. Die Ergebnisse von basename $ME und basename $0 sollten identisch sein ;-)

Fotos