通过脚本切换工作目录,刚开始觉得很简单,直接在脚本中写一个cd语句就搞定了。

但是,其实不然。

执行脚本时候,只是在当前的shell下开了一个子进程,切换目录的操作只对该进程中相关后续指令有效,但改变不了父进程的目录。

因此,当你写好了脚本,并且调用执行时,你的当前工作目录并没有变化。

那么,解决方案呢?

有两种方式解决(都是执行脚本的方式不同,脚本内容依然是一个cd语句。假定脚本为change.sh):

  1. source change.sh
  2. . ./change.sh

    第一个点是bash的内部命令,表示在当前shell中运行

    后面的“./change.sh”是命令的参数,即要执行的脚本(注:两点之间要有空格)

posted on 2017-05-07 10:13  jade640  阅读(4182)  评论(0编辑  收藏  举报