dirname

dirname geeft het mapgedeelte van een pad terug.

Basisgebruik

dirname /home/dexter/docs/rapport.pdf
# /home/dexter/docs

dirname /home/dexter/docs/
# /home/dexter

Voorbeelden

Map van het huidige script:

SCRIPTMAP=$(dirname "$0")

Absoluut pad van scriptmap:

SCRIPTMAP=$(dirname "$(realpath "$0")")

Bovenliggende map:

OUDER=$(dirname "$(pwd)")

In combinatie met basename:

PAD="/home/dexter/docs/rapport.pdf"
MAP=$(dirname "$PAD")
NAAM=$(basename "$PAD")
echo "$NAAM staat in $MAP"

Tip

Gebruik dirname "$(realpath "$0")" in scripts voor het absolute pad van de scriptmap — dirname "$0" geeft een relatief pad als het script relatief is aangeroepen.

shellscripting