如何在 Bash 中获取文件路径参数中的最后一个目录名/文件名?

linuxoperating systemopen source更新于 2026/2/14 23:22:17

我们利用 Bash 文件来存储通常称为环境变量的不同变量。我们稍后可以通过 Linux 提供的 echo 实用程序命令轻松打印这些变量。

示例

打印 $PATH 环境变量。

命令

echo $PATH

输出

immukul@192 src % echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Library/Apple/usr/bin:/Users
ers/immukul/.cargo/bin

现在我们可以看到 PATH 环境变量由不同的目录组成,假设我们需要从路径变量中获取最后一个文件名。

在这种情况下,我们将使用Linux 提供的基本名称命令实用程序。

base name 命令用于删除目录路径并返回变量中最后一个文件名。

命令

basename $PATH

输出

bin

我们还可以使用一个小技巧来获取倒数第二个值,方法是将基本名称命令修改为类似 − 的形式。

sh-3.2# echo $(basename $(dirname $PATH))

上述命令将有助于获取 PATH 变量(一个目录)的倒数第二个名称。

输出

.cargo

同样,我们也可以打印第三个姓氏。

Command

sh-3.2# echo $(basename $(dirname $(dirname $PATH)))

输出

immukul

相关文章


有用资源