Linux shell - `dirname $0` 定位到运行脚本的相对位置

例1.

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

 cd `dirname $0`
 echo `pwd`

然后返回到/home/admin/执行

sh test/test.sh

运行结果:

/home/admin/test

 

这样就可以知道一些和脚本一起部署的文件的位置了,只要知道相对位置就可以根据这个目录来定位,而可以不用关心绝对位置。这样脚本的可移植性就提高了,扔到任何一台服务器,(如果是部署脚本)都可以执行。

dirname 用于取指定路径所在的目录

$0 表示当前运行的命令

 

例2.

在~/server/colline/cluster5_2/bin下新建env.sh,coltaskmanager.sh,然后在coltaskmanager.sh中调用脚本env.sh

这个时候,我们可以这样实现:

. `dirname $0`/env.sh

 

 

 

 

 

 

 

posted @ 2016-05-05 18:12  灵风_滴水穿石  阅读(15525)  评论(0编辑  收藏  举报