¡¾ÇóÖú¡¿ÓÐʲô·½·¨ÊµÏÖ¶¨Î»shell½Å±¾±¾ÉíËùÔڵľø¶Ô·¾¶Âð£¿
:confused: :confused: ÓÐʲô·½·¨ÊµÏÖ¶¨Î»shell½Å±¾±¾ÉíËùÔڵľø¶Ô·¾¶Â𣿠:confused: [code]#!/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
[/code]
ÐÞ¶©°æ
[code]#!/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
[/code] ÀÏÌ«ÆÅµÄ¹ü½Å²¼-------------ÓÖ³ôÓÖ³¤ [QUOTE=yearnx]ÀÏÌ«ÆÅµÄ¹ü½Å²¼-------------ÓÖ³ôÓÖ³¤[/QUOTE]
²ÑÀ¢:(ԸΟ߼û [QUOTE=yearnx]ºÇºÇ¡£ÎÒ¾õµÃ¾ÍÊDz»ÒªÓÃÄÇô¶àµÄ¶¨Î»Óï¾ä°¢£¬ºÎ±Øne!@[/QUOTE]
²ÑÀ¢, ÈÔÈ»²»ºÜÃ÷°×ÄúµÄÒâ˼, ¿É·ñ°ÑÄãµÄʵÏÖ¸ø´ó¼Ò¿´¿´ 4¥˵µÃû´í¡£ÓÖ³ôÓÖ³¤¡£½¨ÒéÂ¥Ö÷È¥¿´Á½ÌìÊé¡£·´Ê¡ÈýÌì¡£ È»ºóÎÒ·¢Ìù :( ÆÚ´ýÖÐ . . . :(
¡¾Ô´´¡¿ÆøËÀdearvoid.ËäÈ»ÎÒ»¹ÊǺܸÐлËûµÄ^V^
:p´úÂë:
#!/bin/bash
#
# file: who_am_i.sh
#
rundir=$PWD
cmd=$0
cmd=${cmd##*/}
echo "$rundir/$cmd"
ÒÔÉÏÊÇÎҵĽâ¾ö·½°¸,Çëdearvoid¹ýÄ¿.
:D dearvoidÇëÖ¸µ¼.
¿´¿´Äܲ»Äܽâ¾öÎÊÌâ Çëdearvoid¿ì¿ìÖ¸µ¼.Èç¹ûûÎÊÌâÄܲ»ÄܰÑÕâ¸öÌù¼Ó¸ö¾«»ª
i dont think it'll work well
[QUOTE=mxx823]#!/bin/bash
#
# file: who_am_i.sh
#
rundir=$PWD
cmd=$0
cmd=${cmd##*/}
echo "$rundir/$cmd"
ÒÔÉÏÊÇÎҵĽâ¾ö·½°¸,Çëdearvoid¹ýÄ¿.
[/QUOTE]
[font=Courier][quote]
[color=blue]-(guest@mac:tty1)-(root)-
[3714 0] %[/color] pwd
/root
[color=blue]-(guest@mac:tty1)-(root)-
[3714 0] %[/color] cat ./tmp/foo.sh
#!/bin/bash
#
# file: who_am_i.sh
#
rundir=$PWD
cmd=$0
cmd=${cmd##*/}
echo "$rundir/$cmd"
[color=blue]-(guest@mac:tty1)-(root)-
[3714 0] %[/color] ./tmp/foo.sh
/root/foo.sh [color=red]<--- should be "/root/tmp/foo.sh"[/color]
[color=blue]-(guest@mac:tty1)-(root)-
[3714 0] %[/color]
[/quote][/font]
[[i] ±¾Ìû×îºóÓÉ dearvoid ÓÚ 2007-10-16 21:23 ±à¼ [/i]] ²»ºÃÒâ˼¡£±»dearvoidÕâ¸öÀÏС×ÓÓÖ¿ìÁËÒ»²½£¬ÎÒÀ´É¾Ìû×Ó¶¼À´²»¼°¡£
ʵÔÚÊÇÌ«Åå·þdearvoid¡£²»¹ýÎÒ»áºÜ¿ì½ø²½£¬ÕùÈ¡´ò°ÜdearvoidÕâ¸öÀÏС×Ó¡£
´ó¼ÒÖ§³ÖÎÒ¡£
¡¾Ô´´¡¿¼ÌÐøÆøËÀdearvoid¡£ËäÈ»Îҷdz£¸ÐлËû
dearvoid´óÈË¡£ÎÒ¼ÌÐøÏòÄã½Ð°å£¬µÚÒ»Ö¸³öÄãµÄ½Å±¾µÄÎÊÌâ¡£ÈçÏ£º[root@localhost /]# ~/../home/hjf/who_am_i.sh
/who_am_i.sh
¿´Õâ¸ö½á¹ûˬ²»Ë¬£¿:w ÉÏÃæ¿´ÍêÁËû£¿
ÔõôÑù£¿Êܲ»ÁËÁ˰ɡ£ºÃ¡£ÄÇôÇÒÌýÏ»طֽ⡣ which version were you using?
[font=Courier][quote]
[color=blue]-(guest@mac:tty1)-(/)-
[3714 0] %[/color] pwd
/
[color=blue]-(guest@mac:tty1)-(/)-
[3714 0] %[/color] cat /home/hjf/where_am_i.sh
#!/bin/bash
#
# file: who_am_i.sh
#
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
[color=blue]-(guest@mac:tty1)-(/)-
[3714 0] %[/color] ~/../home/hjf/where_am_i.sh
/home/hjf/where_am_i.sh
[color=blue]-(guest@mac:tty1)-(/)-
[3714 0] %[/color] cd /home/hjf/
[color=blue]-(guest@mac:tty1)-(hjf)-
[3714 0] %[/color] PATH=$PATH:.
[color=blue]-(guest@mac:tty1)-(hjf)-
[3714 0] %[/color] where_am_i.sh
/home/hjf/where_am_i.sh
[color=blue]-(guest@mac:tty1)-(hjf)-
[3714 0] %[/color]
[/quote][/font]
[[i] ±¾Ìû×îºóÓÉ dearvoid ÓÚ 2007-10-16 21:22 ±à¼ [/i]]
¡¾Ô´´¡¿£¨ÖÕ½á°æ£©ÊµÏÖ¶¨Î»shell½Å±¾±¾ÉíËùÔڵľø¶Ô·¾¶
[b][color=#000080]ºÃÁË¡£ÎÒ²»¸údearvoidÀÏС×ÓÍæÁË¡£:w ÎÒ°ÑÎҵĴúÂ븽Ï¡£[/color][/b][b][color=#000080]ÇëdearvoidÀÏ´óÈ˹ýÄ¿¡£[/color][/b]
[b][color=#000080]´úÂ룺[QUOTE][/color][/b]
[b][color=#000080]#!/bin/bash[/color][/b]
[b][color=#000080]#who_am_i.sh[/color][/b]
[b][color=#000080]cmd=$0[/color][/b]
[b][color=#000080]if [ "$cmd" = "${cmd/\//}" ] ;then[/color][/b]
[b][color=#000080]command which $cmd[/color][/b]
[b][color=#000080]exit 0[/color][/b]
[b][color=#000080]fi[/color][/b]
[b][color=#000080]name=$(basename $cmd)[/color][/b]
[b][color=#000080]path=$(dirname $cmd)[/color][/b]
[b][color=#000080]cd "$path"[/color][/b]
[b][color=#000080]echo "$PWD/$name"[/color][/b]
[b][color=#000080][/QUOTE] [/color][/b] dearvoidÔÚ²»ÔÚ£¿¸Ï½ô¹ýÄ¿£¬ÏȰÑÄÇÕÅÌû×ӵľ«»ªÈ¥µô¡£²»ÒªÈÃÄĸöÔÙÆÈËÁË¡£
¾«»ª¼ÓÕâ¸öÉÏÃæ°É¡£¸øÎÒ¼Ó300·Ö°É¡£:w [QUOTE=mxx823][b][color=#000080]ºÃÁË¡£ÎÒ²»¸údearvoidÀÏС×ÓÍæÁË¡£:w ÎÒ°ÑÎҵĴúÂ븽Ï¡£[/color][/b]
[b][color=#000080]ÇëdearvoidÀÏ´óÈ˹ýÄ¿¡£[/color][/b]
[b][color=#000080]´úÂ룺 [/color][/b][/QUOTE]
[font=Courier][quote]
[color=blue]-(guest@mac:tty1)-(/)-
[28638 0] %[/color] pwd
/
[color=blue]-(guest@mac:tty1)-(/)-
[28638 0] %[/color] cat /foo.sh
#!/bin/bash
#who_am_i.sh
cmd=$0
if [ "$cmd" = "${cmd/\//}" ] ;then
command which $cmd
exit 0
fi
name=$(basename $cmd)
path=$(dirname $cmd)
cd "$path"
echo "$PWD/$name"
[color=blue]-(guest@mac:tty1)-(/)-
[28638 0] %[/color] /foo.sh
//foo.sh [color=red]<--- should be "/foo.sh"[/color]
[color=blue]-(guest@mac:tty1)-(/)-
[28638 0] %[/color]
[/quote][/font]
[[i] ±¾Ìû×îºóÓÉ dearvoid ÓÚ 2007-10-16 21:24 ±à¼ [/i]] ÎÒ³´íÁË¡£²»¹ÜÔõôÑù¾ÍÊÇÓÖ³ôÓÖ³¤¡£¿´Îҵİɡ£
°Ñ¾«»ª¼ÓÎÒÄÇÀï°É¡£^_^
Ò³:
[1]
2