700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > linux存放脚本目录 linux中Shell脚本所在目录的绝对路径linux操作系统 -电脑资料...

linux存放脚本目录 linux中Shell脚本所在目录的绝对路径linux操作系统 -电脑资料...

时间:2019-03-06 14:46:42

相关推荐

linux存放脚本目录 linux中Shell脚本所在目录的绝对路径linux操作系统 -电脑资料...

linux shell 脚本里面如果想得到当前脚本文件存放的绝对路径,也没有太现成的命令可以调用,不过可以通过下面的语句来获取:代码如下复制代码

baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd)

echo "full path to currently executed script. is : ${baseDirForScriptSelf}"

或者

FULLPATH=$(cd "$(dirname "$0")"; pwd)

echo "full path to currently executed script. is : ${FULLPATH}"

BASEDIR=`dirname $FULLPATH`

echo "parent dir is $BASEDIR"

这个功能很给力 直接得到绝对路径 把脚本整个目录及上级目录全部挪窝的好东西

方法二代码如下复制代码

#!/bin/sh

name=$0

echo "name : $name"

dir=$(dirname ${name})

echo "dir: $dir"

path=$(pwd)

echo "path : $path"

path=${dir/./${path}}

echo "path : $path"

实例

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

当路径中含有小数点时,该方法会有问题,linux中Shell脚本所在目录的绝对路径linux操作系统》()。修正方法为加入一个判断代码如下复制代码

#!/bin/sh

path=$(dirname $0)

if [ ${path:0:1} == . ]

then

path=${path/./$(pwd)}

fi

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。