如何在 Bash 的文件路径参数中获取最后一个目录名/文件名?
我们使用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:/Us ers/immukul/.cargo/bin
现在我们可以看到PATH环境变量由不同的目录组成,假设我们想要路径变量中的最后一个文件名。
在这种情况下,我们将使用Linux为我们提供的基本名称命令实用程序。
的基本名称命令用于删除目录路径和在可变返回最后的文件名存在。
命令
basename $PATH输出结果
bin
我们还可以使用一个简短的技巧通过将基本名称命令修改为这样的东西来获取倒数第二个值-
sh-3.2# echo $(basename $(dirname $PATH))
上面的命令将有助于获取PATH变量的第二个姓氏,它是一个目录。
输出结果
.cargo
同样,我们也可以打印第三个姓氏。
命令
sh-3.2# echo $(basename $(dirname $(dirname $PATH)))输出结果
immukul