获取shell脚本所在绝对路径操作方法介绍

发布时间:2020-04-12编辑:脚本学堂
获取shell脚本所在绝对路径操作方法介绍

本文为大家介绍linuxshell/ target=_blank class=infotextkey>shell脚本中获取该脚本的所在绝对路径的操作方法,供大家学习参考。
文件名:a.sh
位置:/tmp/whuang/study/php
脚本内容:
 

复制代码 代码如下:
#!/bin/sh
this_dir=`pwd`
dirname $0|grep "^/" >/dev/null
if [ $? -eq 0 ];then
this_dir=`dirname $0`
else
dirname $0|grep "^." >/dev/null
retval=$?
if [ $retval -eq 0 ];then
this_dir=`dirname $0|sed "s#^.#$this_dir#"`
else
this_dir=`dirname $0|sed "s#^#$this_dir/#"`
fi
fi
echo $this_dir
 

功能:获取脚本的绝对路径。
测试:
[root@ppc40 php]# pwd
/tmp/whuang/study/php
[root@ppc40 php]# sh a.sh
/tmp/whuang/study/php
[root@ppc40 php]# cd ..
[root@ppc40 study]# sh php/a.sh
/tmp/whuang/study/php
[root@ppc40 study]# sh ./php/a.sh
/tmp/whuang/study/php