如何获得脚本文件所在路径

在UNIX或LINUX上做开发,经常用到脚本。我就遇到这样一个问题:如何获得脚本文件所在路径呢?注意这个路径和当前工作路径是不同的,用`pwd`或${PWD}获得的是当前工作路径,不是我所要的最终结果。在网上搜了半天也没找到一个切实可行的办法,看来还得靠自己。下面把我的解决办法贴出来供大家分享吧:

 

举个例子:

在/home/john/tmp下建立脚本文件test.sh

 

      1 #!/bin/bash
      2
      3 echo "The script is in ${PWD}"
在/home/john下执行它,得到输出为:The script is in /home/john

显然我们想要的是/home/john/tmp

我的解决办法:

      1 #!/bin/bash
      2
      3 ROOT_PATH=`dirname ${PWD}/$0`
      4
      5 echo $ROOT_PATH
无论在什么路径执行这个脚本都可以得到正确的输出了:The script is in /home/john/tmp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值