我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

Linux中的dirname命令会打印出一个文件路径,并将其最后的组件删除。这基本上可以从文件路径中得到目录路径。

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

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

下面用一些例子来告诉大家。

Dirname命令的例子

dirname命令的语法简单明了:

dirnameOPTIONPATH

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

dirname/home/user/data/filename.txt

/home/user/data

像basename命令一样,dirname命令实际上也是愚蠢的。它不能真正识别文件路径。它只查找斜杠(/)并打印最后一个斜杠之前的内容。基本上,您可以给它带/的任何字符串,并且可以在其上使用。

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

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

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

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

在bash脚本中使用目录名

让我们谈谈在bash脚本中使用目录名。

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

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

result=$(dirname"$pathname")

echo$result

如前所述,dirname命令是basename命令的补充。与dirname不同,basename命令仅输出路径的最后一部分。


TAG:dirname

免责声明:本站内容(文字信息+图片素材)来源于互联网公开数据整理或转载,仅用于学习参考,如有侵权问题,请及时联系本站删除,我们将在5个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)

我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

132-7207-3477

上班时间

周一到周五

二维码
线