如何在shell脚本中使cd命令生效

sh/bash/dash/ksh/zsh等Shell脚本
回复
leavingDream
帖子: 39
注册时间: 2012-03-03 22:36

如何在shell脚本中使cd命令生效

#1

帖子 leavingDream » 2014-10-19 1:14

我进入系统在自己的主目录下/home/xxx,我写了一个脚本
首先是一个cd /home/xxx/others命令进入到另外的目录,但是执行后我还是在自己的主目录
这个怎么解决?
另外就是能不能写一个脚本打开一个目录下(如log/)时间最新的文档
leavingDream
帖子: 39
注册时间: 2012-03-03 22:36

Re: 如何在shell脚本中使cd命令生效

#2

帖子 leavingDream » 2014-10-19 20:47

我知道了,是因为shell用了一个子进程执行shell脚本,cd改变的目录只对子进程有影响
父进程的工作目录仍然没有改变,要改变父进程的工作目录必须在父进程执行脚本。
有下面两种方法
1 用 source xxx.sh
2 用 . ./xxx.sh 或者 . xxx.sh
回复