我有这个脚本
#!/bin/bash
cd /home/user/somedir
pwd
它按预期工作,但我希望这个脚本将我传送到 /home/user/somedir,但我留在同一个目录中。
如何编写脚本将我(在 gnome-terminal 中)传送到 /home/user/somedir?
答案1
您需要source
脚本。否则,它将在单独的子 shell 中运行,更改子 shell 的工作目录,但不会更改运行脚本的 shell 的工作目录。
获取来源:
. myfile.sh
或者
source myfile.sh
您可以阅读更多这里
答案2
exec bash
最后使用
bash 脚本在其当前环境或其子环境上运行,但从不在其父环境上运行。
然而,人们经常会问到这个问题,因为人们希望在从另一个目录执行 bash 脚本后留在某个目录的 bash 提示符下。
如果是这种情况,只需在脚本末尾执行一个子 bash 实例:
#!/bin/bash
cd /home/user/somedir
exec bash