LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1353|回复: 7

如何用bash shell的脚本改变当前所在目录?

[复制链接]
发表于 2004-6-14 20:17:36 | 显示全部楼层 |阅读模式
有时候频繁的敲cd命令很麻烦,即使是预先定义了一些变量也还是嫌麻烦,所以我想写个脚本自动进入某些目录。比如:

有个目录名为:/usr/local/public/jboss-3.3.2,想能有个脚本一运行就可以进入这个目录里。

#pwd
/home/ken
#jboss
#pwd
/usr/local/public/jboss-3.3.2

我试了些写法,但都不行,如:
1、
#cat jboss
cd /usr/local/public/jboss-3.3.2
2、
#cat jboss
. cd /usr/local/public/jboss-3.3.2

第一个不行,我想是因为脚本是在子shell中运行的原因,但为什么第二个也不行?
我也知道用别名可以实现,但还是想找到shell脚本实现的方法
请各位帮忙!
发表于 2004-6-14 20:34:55 | 显示全部楼层
用shelll的dot(.)命令执行脚本,如:
. urscript
 楼主| 发表于 2004-6-14 20:37:13 | 显示全部楼层

这个我也知道,我就是想能直接打一个脚本命令而无需加那个点

呵呵,好像够懒得。:)
发表于 2004-6-14 20:42:25 | 显示全部楼层
那就把你的脚本写长函数,如:
function urscript { cd /; }
放到profile中,这样的话,就OK啦!
 楼主| 发表于 2004-6-14 20:48:08 | 显示全部楼层

如果是要放在profile里的话,我直接用alias就可以了

呵呵,钻牛角尖了。
放profile里不好,主要是我觉得su以后用不太方便。
发表于 2004-6-14 20:51:27 | 显示全部楼层

回复: 如果是要放在profile里的话,我直接用alias就可以了

最初由 mail07 发表
呵呵,钻牛角尖了。
放profile里不好,主要是我觉得su以后用不太方便。

呵呵,那就用dot命令吧,不就多打一个点么? ;)
发表于 2004-6-15 14:13:23 | 显示全部楼层
#cat $HOME/bin/jboss
#!/bin/bash
cd /usr/local/public/jboss-3.3.2
#chmod a+x $HOME/bin/jboss
在/etc/profile中加入相应的路径
发表于 2004-6-15 18:10:33 | 显示全部楼层
. 和 source 命令虽然可以, 但是不能接收参数, 还是用函数的好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表