脚本执行后路径未添加到环境变量中

脚本执行后路径未添加到环境变量中

我有下载二进制文件并更新路径变量的脚本,但一旦脚本退出并且我尝试运行二进制文件,它就找不到下载的二进制文件。在每个系统上,我都必须明确地获取 .bash_profile,即使我在 bash 脚本中运行该命令。

if [[ $update_path == 0 ]]; then
  echo $"export PATH=$PATH:$target" >> ~/.bash_profile # ~/.profile
  source ~/.bash_profile
fi

我不想要求用户重新登录。

答案1

该脚本在source其上下文中执行。

一旦脚本结束,其上下文也随之结束。

  • 因此当前上下文不保存更新的内容~/.bash_profile

您需要重新登录或source再次~/.bash_profile才能获取更新的变量。

相关内容