【问题标题】:How to get an environmental variable to persist on Bash?如何让环境变量在 Bash 上持续存在?
【发布时间】:2021-06-20 13:11:07
【问题描述】:

这是我关于 Stack Overflow 的第一个问题,所以如果这是一个糟糕的问题,我提前道歉。

我刚刚开始学习如何编程(从 Python 开始)。我在 Windows 计算机上,但我已经安装了 Bash 和 Ubuntu,因为这是我的编程书告诉我要做的。话虽如此,我试图简单地获取我在文件资源管理器中创建的环境变量以在 Bash 中显示。我通过 c 盘访问了我的个人资料,然后是 users,然后创建了一个名为“.profile”的文件,它是一个文本文档。在文本文档中,第一行是 export x=100。当我关闭并重新打开 Bash 然后键入“echo $x”时,什么也没有出现。下一行是空白的,而我试图让它显示 100。有人可以帮我解决这个问题吗?

【问题讨论】:

  • .profile 仅在您登录时执行,而不适用于所有 shell。所以退出并重新登录。
  • 欢迎来到 Stack Overflow! Stack Overflow 用于编程问题,而不是关于使用或配置 Unix 及其实用程序的问题。 Unix & LinuxSuper User 将是解决此类问题的更好地方。

标签: linux bash file environment-variables profile


【解决方案1】:

在 bash 中,您可以使用以下语法导出任何环境变量:

export FOO=bar

为了使这些环境变量在您的 shell 或任何其他脚本中可用,您需要 source 存储变量的文件:

source my_file
echo $FOO

您可以参考这篇文章以获取更多示例: https://linuxize.com/post/bash-source-command/

通常,shell 程序允许您获取配置文件。 对于 ubuntu,你可以参考这个 askubuntu 问题来了解更多关于如何设置你的 shell https://askubuntu.com/questions/566399/why-isnt-profile-sourced-when-opening-a-terminal

【讨论】:

    【解决方案2】:

    在您的主目录中,您登录的用户的~/.bashrc 文件中,您可以在该文件的新行中添加一个变量并保存。下次以该用户身份加载此文件时,该变量应该可以访问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      • 2018-12-29
      • 2020-01-07
      • 1970-01-01
      相关资源
      最近更新 更多