如何添加环境变量?

如何添加环境变量?

我正在运行 Ubuntu 11.04。我使用终端启动 bash 会话,并且我想添加一个环境变量:

$r@hajt:~$ env THEVAR=/example

但它不起作用。它显示了所有变量,其中 THEVAR 是最后一个,但对的另一个调用env不再显示 -THEVAR什么env | grep THEVAR也没有返回。

类似地,带有 export( export THEVAR=/example) 或其他变量赋值(THEVAR=/example)的脚本不会添加环境变量。

我知道我做错了什么,我知道这应该是件简单的事情,但我就是找不到是什么。

更新:我的问题的真正含义是这样的:

(无论如何,我会选择得票最多的答案并保留编辑后的标题 - 这不是我想要的)

env在修改后的环境中运行程序,然后忽略所有更改。

答案1

设置变量仅有的对于当前 shell:

VARNAME="my value"

为当前 shell 设置它并所有流程从当前 shell 启动:

export VARNAME="my value"      # shorter, less portable version

设置它永久对于所有未来的 bash 会话,请将这行添加到目录.bashrc中的文件中$HOME

要永久设置它,并且系统范围(所有用户,所有进程)在 /etc/environment 中添加设置变量:

sudo -H gedit /etc/environment

该文件仅接受变量分配,例如:

VARNAME="my value"

export这里不要使用关键字。

在您的终端上使用source ~/.bashrc以使更改立即生效。

答案2

要设置一次环境变量,请使用export提示符中的命令,而不是在 shell 脚本中:

$ export THEVAR=/example

该变量将被设置为 shell 会话的剩余时间或者直到取消设置。

要每次设置环境变量,请使用文件export中的命令.bashrc(或适合您的 shell 的初始化文件)。

要从脚本设置环境变量,请使用export脚本中的命令,然后使用source脚本。如果执行脚本,则不会起作用。

有关采购和执行之间的区别的解释,请参阅以下答案:

答案3

要在 Ubuntu 中永久添加新的环境变量(仅在 14.04 中测试),请使用以下步骤:

  1. 打开终端(按CtrlAltT
  2. sudo -H gedit /etc/environment
  3. 输入密码
  4. 编辑刚刚打开的文本文件:
    例如,如果您想添加,则只需在新行中FOO=bar写入FOO=bar
  5. 保存
  6. 保存后,注销并重新登录。
  7. 您所需的更改已完成。

答案4

我知道已经很晚了,但是如果您想为所有用户添加环境变量(例如 JAVA 使用) - 您可以执行以下操作:

1)/etc/bash.bashrc使用 nano 打开(您可以使用任何编辑器,我不喜欢 VIM,因为在用户友好性方面它是最差的 - 不是个人原因)。

2)附加到文件:

export VAR=path export PATH=$PATH:/bin 3)(如果您可以弹出该框就更好了) - 或者只需打开一个新的 SSH 会话并使用“env”命令进行确认。

但是如果您希望每个用户都有单独的设置,您必须对.bashrc文件进行更改(脚本) ~/.bashrc(或者/home/$USER/如果您是 Linux 系统新手)

相关内容