LinuxÒÁµéÔ°ÂÛ̳'s Archiver

kicoo ·¢±íÓÚ 2004-11-4 16:23

¡¾ÇóÖú¡¿ÓÐʲô·½·¨ÊµÏÖ¶¨Î»shell½Å±¾±¾ÉíËùÔڵľø¶Ô·¾¶Âð£¿

:confused:  :confused: ÓÐʲô·½·¨ÊµÏÖ¶¨Î»shell½Å±¾±¾ÉíËùÔڵľø¶Ô·¾¶Â𣿠:confused:

dearvoid ·¢±íÓÚ 2004-11-4 19:30

[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]

dearvoid ·¢±íÓÚ 2005-6-15 12:55

ÐÞ¶©°æ

[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]

yearnx ·¢±íÓÚ 2005-6-23 13:56

ÀÏÌ«ÆÅµÄ¹ü½Å²¼-------------ÓÖ³ôÓÖ³¤

dearvoid ·¢±íÓÚ 2005-6-23 15:20

[QUOTE=yearnx]ÀÏÌ«ÆÅµÄ¹ü½Å²¼-------------ÓÖ³ôÓÖ³¤[/QUOTE]
²ÑÀ¢:(ԸΟ߼û

dearvoid ·¢±íÓÚ 2005-7-6 12:23

[QUOTE=yearnx]ºÇºÇ¡£ÎÒ¾õµÃ¾ÍÊDz»ÒªÓÃÄÇô¶àµÄ¶¨Î»Óï¾ä°¢£¬ºÎ±Øne!@[/QUOTE]
²ÑÀ¢, ÈÔÈ»²»ºÜÃ÷°×ÄúµÄÒâ˼, ¿É·ñ°ÑÄãµÄʵÏÖ¸ø´ó¼Ò¿´¿´

mxx823 ·¢±íÓÚ 2005-9-1 18:01

4¥˵µÃû´í¡£ÓÖ³ôÓÖ³¤¡£½¨ÒéÂ¥Ö÷È¥¿´Á½ÌìÊé¡£·´Ê¡ÈýÌì¡£ È»ºóÎÒ·¢Ìù

dearvoid ·¢±íÓÚ 2005-9-1 18:44

:( ÆÚ´ýÖÐ . . . :(

mxx823 ·¢±íÓÚ 2005-9-8 23:24

¡¾Ô­´´¡¿ÆøËÀdearvoid.ËäÈ»ÎÒ»¹ÊǺܸÐлËûµÄ^V^

:p
´úÂë:

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

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

ÒÔÉÏÊÇÎҵĽâ¾ö·½°¸,Çëdearvoid¹ýÄ¿.
:D

mxx823 ·¢±íÓÚ 2005-9-8 23:25

dearvoidÇëÖ¸µ¼.
¿´¿´Äܲ»Äܽâ¾öÎÊÌâ

mxx823 ·¢±íÓÚ 2005-9-8 23:29

Çëdearvoid¿ì¿ìÖ¸µ¼.Èç¹ûûÎÊÌâÄܲ»ÄܰÑÕâ¸öÌù¼Ó¸ö¾«»ª

dearvoid ·¢±íÓÚ 2005-9-9 08:50

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]]

mxx823 ·¢±íÓÚ 2005-9-9 09:09

²»ºÃÒâ˼¡£±»dearvoidÕâ¸öÀÏС×ÓÓÖ¿ìÁËÒ»²½£¬ÎÒÀ´É¾Ìû×Ó¶¼À´²»¼°¡£
ʵÔÚÊÇÌ«Åå·þdearvoid¡£²»¹ýÎÒ»áºÜ¿ì½ø²½£¬ÕùÈ¡´ò°ÜdearvoidÕâ¸öÀÏС×Ó¡£
´ó¼ÒÖ§³ÖÎÒ¡£

mxx823 ·¢±íÓÚ 2005-9-9 10:16

¡¾Ô­´´¡¿¼ÌÐøÆøËÀdearvoid¡£ËäÈ»Îҷdz£¸ÐлËû

dearvoid´óÈË¡£ÎÒ¼ÌÐøÏòÄã½Ð°å£¬µÚÒ»Ö¸³öÄãµÄ½Å±¾µÄÎÊÌâ¡£ÈçÏ£º
[root@localhost /]# ~/../home/hjf/who_am_i.sh
/who_am_i.sh
¿´Õâ¸ö½á¹ûˬ²»Ë¬£¿:w

mxx823 ·¢±íÓÚ 2005-9-9 10:22

ÉÏÃæ¿´ÍêÁËû£¿

ÔõôÑù£¿Êܲ»ÁËÁ˰ɡ£ºÃ¡£ÄÇôÇÒÌýÏ»طֽ⡣

dearvoid ·¢±íÓÚ 2005-9-9 10:28

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]]

mxx823 ·¢±íÓÚ 2005-9-9 10:31

¡¾Ô­´´¡¿£¨ÖÕ½á°æ£©ÊµÏÖ¶¨Î»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]

mxx823 ·¢±íÓÚ 2005-9-9 10:35

dearvoidÔÚ²»ÔÚ£¿¸Ï½ô¹ýÄ¿£¬ÏȰÑÄÇÕÅÌû×ӵľ«»ªÈ¥µô¡£²»ÒªÈÃÄĸöÔÙÆ­ÈËÁË¡£
¾«»ª¼ÓÕâ¸öÉÏÃæ°É¡£¸øÎÒ¼Ó300·Ö°É¡£:w

dearvoid ·¢±íÓÚ 2005-9-9 10:40

[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]]

mxx823 ·¢±íÓÚ 2005-9-9 10:48

ÎÒ³­´íÁË¡£²»¹ÜÔõôÑù¾ÍÊÇÓÖ³ôÓÖ³¤¡£¿´Îҵİɡ£
°Ñ¾«»ª¼ÓÎÒÄÇÀï°É¡£^_^

Ò³: [1] 2

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.