Shell 小技巧之dirname命令的使用

本文介绍了在Shell脚本中如何使用dirname命令来获取脚本的父目录,以实现脚本的路径独立性。通过解释dirname命令的功能——去除文件名中的非目录部分,展示如何在脚本中结合$0变量,使脚本能动态定位并切换到其所在目录执行后续操作。
摘要由CSDN通过智能技术生成

在平时写脚本的时候,想做到该脚本在任何地方都可以调用,一般有以下几种方式:

  1. 使用绝对路径
  2. 设置路径宏
  3. 使用dirname自动获取路径

关于第1种,使用绝对路径的话,如果我们用到的其他文件、tool都是固定路径的话,是没问题的。
关于第2种,我们可以在脚本开头设置一个变量,比如__FILE_PATH="/home/test/"
如此,在使用其他文件的时候,可以使用宏+相对路径的方式,比如读取/home/test/test.log文件,可以写成
cat ${__FILE_PATH}test.log

不过既然都这么写了,为什么不试试神奇的dirname命令呢。

关于dirname命令

这个命令的描述为:dirname命令去除文件名中的非目录部分,删除最后一个“\”后面的路径,显示父目录
这个命令要放在shell脚本中使用,在命令行使用意义不大

[v:Desktop]#dirname /etc/systemd/system.conf 
/etc/systemd
[v:Desktop]#dirname /etc/system
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值