Linux知识积累(2)dirname的使用方法

linux中的cd "$(dirname "$0")"/是什么意思呢?

  • 分析如下:

  1、$0 表示当前动行的命令名,一般用于shell 脚本中
  2、dirname 用于取指定路径所在的目录 ,如 dirname /home/ikidou 结果为 /home
  3、cd 为切换文件夹
  4、$(命令) 返回该命令的结果
  5、所以结合以上分析,结果为【 切换到 脚本 所在的目录】

 

  • 同理,在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为他返回当前路径的"."。

        这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。


  在/home/admin/test/下新建test.sh内容如下:

  cd `dirname $0`
  echo `pwd`
  

  然后返回到/home/admin/执行 sh test/test.sh

  运行结果:/home/admin/test

 

  这样就可以知道一些和脚本一起部署的文件的位置了,

  只要知道相对位置就可以根据这个目录来定位,而可以不用关心绝对位置。

  这样脚本的可移植性就提高了,扔到任何一台服务器,(如果是部署脚本)都可以执行。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值