这是场景,我打开了一个终端,bash
的cwd
是`/home/me',如下:
[/home/me $] ls
a.sh
现在在CWD中使用a.sh
:
[/home/me $] ./a.sh
我想要的是,我想通过运行a.sh
更改bash
的cwd
,这意味着a.sh
完成后,bash
的cwd
不会是/home/me
,
[/home/other_dir $]
我可以这样做吗?如果是,如何?
您可以使用在当前Shell上下文中运行的源命令。因此,在脚本中完成的所有更改将在您的外壳中可见。
例如:
如果A.SH的内容为:cd /usr/bin
然后执行以下执行将导致CWD
$ source a.sh
为了使您需要运行 a.sh
,而无需这样的子壳:
. ./a.sh
这将确保在当前壳本身中运行您的脚本,并且您的脚本中的change dir
命令将在当前的shell中反映。