linux在shell脚本中获取该脚本的所在绝对路径



linux在shell脚本中获取该脚本的所在绝对路径
 
脚本名:a.sh
位置:/tmp/whuang/study/java
脚本内容:
www.2cto.com  
Shell代码  
#!/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
 

相关内容

    暂无相关文章