在 Bash 脚本中使用 Linux Dirname 命令 [示例]在 Bash 脚本中使用 Linux Dirname 命令 [示例]在 Bash 脚本中使用 Linux Dirname 命令 [示例]在 Bash 脚本中使用 Linux Dirname 命令 [示例]
  • 业务
  • 目标
  • 支持
  • 关于
  • 联系我们
  • 登录
✕

在 Bash 脚本中使用 Linux Dirname 命令 [示例]

发表 admin at 2025年2月28日
类别
未分类
标签

Linux 中的 dirname 命令从文件路径中提取目录路径。了解在 bash 脚本中使用 dirname 命令的一些实际示例。

Linux 中的 dirname 命令打印删除了最后部分的文件路径。这基本上为您提供了文件路径中的目录路径。

这在您想要从长文件路径中提取目录路径的 bash 脚本中特别有用。

dirname 命令是对 basename 命令的补充。 basename 命令从路径中提取文件名,而 dirname 命令提取目录路径。

让我用一些例子向您展示。

目录名命令示例

dirname 命令的语法很简单。

dirname OPTION PATH

使用 dirname 命令和文件的绝对路径将给出目录路径:

dirname /home/user/data/filename.txt
/home/user/data

与basename命令一样,dirname命令实际上也很愚蠢。它并不能真正识别文件路径。它只是查找斜杠 (/) 并打印最后一个斜杠之前的内容。基本上,您可以给它任何带有/的字符串,它就会对其进行处理。

例如,我在这里使用一个随机字符串,其中没有文件名。您可以看到它的工作原理仍然相同,并输出一个字符串,删除最后一个/及其后面的文本。

如果路径中没有斜杠(/),则会输出一个点(.),表示当前目录。

您也可以将 dirname 与多个路径一起使用。它将在新行中返回每个路径的输出:

您可以使用 -z 选项在同一行中获取结果,并用 NULL 字符分隔输出。

在 bash 脚本中使用目录名

我展示了 dirname 命令的一些示例。我们来谈谈在 bash 脚本中使用 dirname。

假设您有一个文件路径变量,并且您想要获取包含该文件的目录的路径。这可能是一个简单的脚本:

pathname="/home/dir/data/filename"

result=$(dirname "$pathname")

echo $result

正如我之前提到的,dirname 命令是对 basename 命令的补充。与 dirname 不同,basename 命令仅打印路径的最后一个组成部分。

我希望您喜欢本教程。一如既往,请随时在评论部分提出问题或提供建议。

喜欢这篇文章吗?请分享并帮助我们成长:)

©2015-2025 Norria Group support@norria.com