问题描述
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
.
解决方法
在 Bash 中,如果VAR="/home/me/mydir/file.c"
,我该如何获得"/home/me/mydir"
?