如何在 Bash 中获取文件路径参数中的最后一个 dirname/filename?
我们使用 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 命令实用程序。
**basename** 命令用于移除目录路径并返回变量中存在的最后一个文件名。
命令
basename $PATH
输出
bin
我们还可以使用一个简单的技巧来获取倒数第二个值,方法是将 basename 命令修改为类似这样的内容:
sh-3.2# echo $(basename $(dirname $PATH))
上述命令将有助于获取 PATH 变量的倒数第二个名称,这是一个目录。
输出
.cargo
同样,我们也可以打印倒数第三个名称。
命令
sh-3.2# echo $(basename $(dirname $(dirname $PATH)))
输出
immukul
广告