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

时间:2022-01-06 05:11:30

脚本名:a.sh 
位置:/tmp/whuang/study/java 
脚本内容: 

复制代码

代码如下:


#!/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 java]# pwd 
/tmp/whuang/study/java 
[root@ppc40 java]# sh a.sh 
/tmp/whuang/study/java 
[root@ppc40 java]# cd .. 
[root@ppc40 study]# sh java/a.sh 
/tmp/whuang/study/java 
[root@ppc40 study]# sh ./java/a.sh 
/tmp/whuang/study/java