这在bash脚本中非常有用,从长文件路径中提取目录路径。
basename命令从path中提取文件名,而dirname则提取目录路径。
Dirname命令示例
dirname命令一个简单的语法。dirname OPTION PATH
将dirname命令与文件的绝对路径一起使用,将给出目录路径:dirname /home/user/data/filename.txt
/home/user/data
例如,我在这里使用没有文件名的随机字符串。可以看到,它仍然工作,并输出一个字符串,删除最后一个/和后面的文本。
如果路径中没有斜杠(/),它输出一个点()表示当前目录。
还可以将dirname与多个路径一起使用,它将返回新行中每个路径的输出:
您可以使用-z选项在同一行中获得结果,并以NULL字符分隔输出。
在bash脚本中使用dirname
我展示了dirname命令的一些示例,在bash脚本中使用dirname。
假设你有一个file path变量,并且希望获得包含该文件的目录的路径,这可以是一个简单的脚本:pathname="/home/dir/data/filename"
result=$(dirname "$pathname")
echo $result
如前所述,dirname命令是basename命令的补充。与dirname不同,basename命令仅输出路径的最后一部分。
喜欢这篇文章吗?请分享并帮助我们成长:)