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

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

:confused:  :confused: 有什么方法实现定位shell脚本本身所在的绝对路径吗? :confused:      
复制内容到剪贴板
代码:
#!/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
      
复制内容到剪贴板
代码:
#!/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
      
老太婆的裹脚布-------------又臭又长      
[QUOTE=yearnx]老太婆的裹脚布-------------又臭又长[/QUOTE]
惭愧愿闻高见      
[QUOTE=yearnx]呵呵。我觉得就是不要用那么多的定位语句阿,何必ne!@[/QUOTE]
惭愧, 仍然不很明白您的意思, 可否把你的实现给大家看看      
4楼说得没错。又臭又长。建议楼主去看两天书。反省三天。 然后我发贴      
期待中 . . .       
:p
代码:

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

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

以上是我的解决方案,请dearvoid过目.
      
dearvoid请指导.
看看能不能解决问题