免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4207 | 回复: 7
打印 上一主题 下一主题

[SCO UNIX] unix下快速切换目录的shell! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-23 12:25 |只看该作者 |倒序浏览
如果你的目录层次很深的话,这个shell会很方便的直接切换到目的目录,例如
当前目录/usr/home,而目录desdir在/usr/home/app/local/opp/william/desdir
直接打入
$ cd desdir,便可直接从当前目录/use/home切换到/usr/home/app/local/opp/william/desdir
配置一下.profile,加入两行
. ./bin/chdir
alias cd='chdir'
file:chdir
#####################################################
# auto find your directory
# Writer: william 2006 beijing
# add the following two line in $HOME/.profile
# . ./bin/chdir
# alias cd='chdir'
#####################################################
chdir()
{
if [ -z "$1" ] ; then
        cd
        PS1="[$PWD]"
        export PS1;
        return
elif [ "$1" = - ] ; then
        cd -
        PS1="[$PWD]"
        export PS1;
        return
else
        if [ -d "./$1" ] ; then
        cd ./$1
        PS1="[$PWD]"
        export PS1;
        return
        fi
fi

for LINE in `find $HOME -type d -print | grep -c \/$1$`
do
if [ $LINE -eq 0 ] ; then
        echo "your directory $1 is not exsit($LINE)!"
        return
fi
done

for Dir in `find $HOME -type d -print | grep \/$1$`
do
    if [ $LINE -gt 1 ] ; then
        if [ ! -d "$Dir" ] ; then
        echo "$Dir is not a directory"
        return
        fi

        printf "$Dir\t\t...do you want to go? default(y)"
        read YESNO
#       echo "(y/n)="$YESNO

        if [ -z "$YESNO" ] ; then
                YESNO=y
        fi

        case "$YESNO" in
                [yY]|[yY][eE][sS])
                        YESNO=y ;;
                [nN]|[nN][oO])
                        YESNO=n ;;
                *)
                        YESNO="" ;;
        esac

        if [ "$YESNO" = y ] ; then
                cd $Dir
                PS1="[$PWD]"
                export PS1;

                return
        else
                continue
        fi
  else
                cd $Dir
                PS1="[$PWD]"
                export PS1;
                return
  fi
done
}

论坛徽章:
0
2 [报告]
发表于 2006-05-23 14:21 |只看该作者
这个没多大用   如果要改变到系统的某个目录 相同的子目录,如果要改变到自己应用目录 自己的目录一般一二级深

论坛徽章:
0
3 [报告]
发表于 2006-05-24 09:12 |只看该作者
是没什么用 , 一般自己常用的建立连接,bash 的tab自动补齐也很好用。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2006-05-24 09:23 |只看该作者
支持一下创新的想法呦

论坛徽章:
0
5 [报告]
发表于 2006-05-24 09:42 |只看该作者
鼓励一下!!

论坛徽章:
0
6 [报告]
发表于 2006-05-28 19:40 |只看该作者
呵呵 ,不错。。。

论坛徽章:
0
7 [报告]
发表于 2006-06-01 13:21 |只看该作者

没意义

和环境变量 CDPATH 的功能一样吧。
总不会sco不支持CDPATH吧。

[ 本帖最后由 jixunuli 于 2006-6-1 13:23 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2007-11-13 11:48 |只看该作者
支持楼主,请各位unix爱好者加群号102531,强烈欢迎ChinaUnix各位楼主、精华区牛人的加入!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP