linux下通过脚本切换当前工作目录

时间:2022-02-19 06:30:32

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

但是,其实不然。

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

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

那么,解决方案呢?

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

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

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

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