如何使用脚本更改目录

我有这个脚本

#!/bin/bash cd /home/user/somedir pwd 

它按预期工作,但我希望这个脚本将我传送到/ home / user / somedir,但我留在同一个目录。

如何编写将我(在gnome-terminal中)传送到/ home / user / somedir的脚本?

您需要获取脚本。 如果不是,它将在一个单独的子shell中运行,更改子shell的工作目录,而不是你运行它的shell。

来源:

 . myfile.sh 

要么

 source myfile.sh 

你可以在这里阅读更多

最后使用exec bash

bash脚本在其当前环境或其子环境上运行,但从不在其父环境中运行。

但是,这个问题经常被问到,因为在从另一个目录执行bash脚本之后,想要在某个目录中保留bash提示符。

如果是这种情况,只需在脚本末尾执行子bash实例:

 #!/bin/bash cd /home/user/somedir exec bash