脚本可以更改脚本正在运行的BASH的CWD吗?

  • 本文关键字:脚本 BASH CWD 运行 bash
  • 更新时间 :
  • 英文 :


这是场景,我打开了一个终端,bashcwd是`/home/me',如下:

[/home/me $] ls
a.sh

现在在CWD中使用a.sh

[/home/me $] ./a.sh

我想要的是,我想通过运行a.sh更改bashcwd,这意味着a.sh完成后,bashcwd不会是/home/me

[/home/other_dir $]

我可以这样做吗?如果是,如何?

您可以使用在当前Shell上下文中运行的源命令。因此,在脚本中完成的所有更改将在您的外壳中可见。

例如:

如果A.SH的内容为:cd /usr/bin

然后执行以下执行将导致CWD

的变化

$ source a.sh

为了使您需要运行 a.sh,而无需这样的子壳:

. ./a.sh

这将确保在当前壳本身中运行您的脚本,并且您的脚本中的change dir命令将在当前的shell中反映。

相关内容

  • 没有找到相关文章

最新更新