如何从文件路径中提取目录路径?

问题描述

dirname并且basename是您正在寻找的用于提取路径组件的工具:

$ VAR='/home/pax/file.c'
$ DIR="$(dirname "${VAR}")" ; FILE="$(basename "${VAR}")"
$ echo "[${DIR}] [${FILE}]"
[/home/pax] [file.c]

它们不是内部bash命令,但它们是 POSIX 标准的一部分 - 请参阅dirnamebasename. 因此,它们可能在大多数能够运行bash.

解决方法

在 Bash 中,如果VAR="/home/me/mydir/file.c",我该如何获得"/home/me/mydir"