在Bash中,如果VAR="/home/me/mydir/file.c"
,我该如何获得"/home/me/mydir"
?
dirname
和 basename
是您要用于提取路径组件的工具:
$ VAR='/home/pax/file.c'
$ DIR="$(dirname "${VAR}")" ; FILE="$(basename "${VAR}")"
$ echo "[${DIR}] [${FILE}]"
[/home/pax] [file.c]
它们不是内部的 bash
命令,但它们是 POSIX 标准的一部分 - 可参阅 dirname
和 basename
。因此,在大多数能运行 bash
的平台上,它们可能已经可用,或者可以获取到。