Pfad und Name eines Bash-Skripts

Oft muss ein Bash-Script einige Sachen von sich selbst wissen, um zum Beispiel das CWD sicherzustellen oder sinnvolle Ausgaben zu erzeugen. Die folgenden drei Befehle befüllen drei Variablen mit dem absoluten Verzeichnispfad, mit dem Dateinamen und dem vollständigen Pfad zur aktuellen Script-Datei:

#!/bin/bash

# /home/user
scriptdir=$(cd $(dirname $0); pwd -P)

# test.sh
scriptname=$(basename $0)

# /home/user/test.sh
scriptpath=$(cd $(dirname $0); pwd -P)/$(basename $0)