29 123
发新话题
打印

【求助】有什么方法实现定位shell脚本本身所在的绝对路径吗?

【求助】有什么方法实现定位shell脚本本身所在的绝对路径吗?

:confused:  :confused: 有什么方法实现定位shell脚本本身所在的绝对路径吗? :confused:      
kicoo :) oicq:81992278 E-mail:kicoo@126.com

TOP

复制内容到剪贴板
代码:
#!/bin/bash
#
# file: who_am_i.sh
#

rundir=$PWD
cmd=$0
if [ ${cmd:0:1} = / ]; then
    pathname=$cmd
else
    pathname="$rundir/$cmd"
fi
name=$(basename $pathname)
path=$(dirname $pathname)
cd "$path"
if [ "$PWD" = / ]; then
    echo "/$name"
else
    echo "$PWD/$name"
fi
      
'
梅须逊雪三分白 雪却输梅一段香

TOP

修订版

复制内容到剪贴板
代码:
#!/bin/bash

rundir=$PWD
cmd=$0

if [ "$cmd" = "${cmd/\//}" ]; then
    command which $cmd
    exit 0
fi

if [ ${cmd:0:1} = / ]; then
    pathname=$cmd
else
    pathname="$rundir/$cmd"
fi
name=$(basename $pathname)
path=$(dirname $pathname)
cd "$path"
if [ "$PWD" = / ]; then
    echo "/$name"
else
    echo "$PWD/$name"
fi
      
'
梅须逊雪三分白 雪却输梅一段香

TOP

老太婆的裹脚布-------------又臭又长      

TOP

[QUOTE=yearnx]老太婆的裹脚布-------------又臭又长[/QUOTE]
惭愧愿闻高见      
'
梅须逊雪三分白 雪却输梅一段香

TOP

[QUOTE=yearnx]呵呵。我觉得就是不要用那么多的定位语句阿,何必ne!@[/QUOTE]
惭愧, 仍然不很明白您的意思, 可否把你的实现给大家看看      
'
梅须逊雪三分白 雪却输梅一段香

TOP

4楼说得没错。又臭又长。建议楼主去看两天书。反省三天。 然后我发贴      
太佩服dearvoid了 唯有努力学习 才能打败这老小子

TOP

期待中 . . .       
'
梅须逊雪三分白 雪却输梅一段香

TOP

【原创】气死dearvoid.虽然我还是很感谢他的^V^

:p
代码:

#!/bin/bash
#
# file: who_am_i.sh
#

rundir=$PWD
cmd=$0
cmd=${cmd##*/}
echo "$rundir/$cmd"

以上是我的解决方案,请dearvoid过目.
      
太佩服dearvoid了 唯有努力学习 才能打败这老小子

TOP

dearvoid请指导.
看看能不能解决问题      
太佩服dearvoid了 唯有努力学习 才能打败这老小子

TOP

 29 123
发新话题