这是一个场景,我打开一个终端,bash
的{{1}}是`/ home / me',如下所示:
cwd
现在我在cwd中[/home/me $] ls
a.sh
就像这样:
a.sh
我想要的是,我想通过运行[/home/me $] ./a.sh
更改bash
的{{1}},这意味着在cwd
完成后a.sh
a.sh
不会是bash
,
cwd
我能这样做吗?如果是,怎么样?
答案 0 :(得分:1)
您可以使用在当前shell上下文中运行的source命令。因此,脚本中完成的所有更改都将在您的shell中显示。
例如:
如果a.sh的内容是:cd /usr/bin
然后执行以下操作将导致CWD
$ source a.sh
答案 1 :(得分:1)
为此你需要运行a.sh
而不需要这样的子shell:
. ./a.sh
这将确保在当前shell中运行您的脚本,并且脚本中的change dir
命令将反映在当前shell中。