为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Linux中永久导出变量?

如何在Linux中永久导出变量?

慕码人8056858 2019-11-11 10:25:08
我正在运行RHEL6,并且已经导出了如下环境变量:export DISPLAY=:0当终端关闭时,该变量丢失。如何永久添加此变量,以便特定用户始终可以使用此变量值?
查看完整描述

3 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

您可以将其添加到您的Shell配置文件中,例如,$HOME/.bashrc或在全局中添加/etc/environment


查看完整回答
反对 回复 2019-11-11
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

您必须编辑三个文件来设置永久环境变量,如下所示:


〜/ .bashrc

当您打开任何终端窗口时,将运行该文件。因此,如果希望在所有终端窗口中都有一个永久的环境变量,则必须在此文件的末尾添加以下行:

export DISPLAY = 0


〜/ .profile

与bashrc相同,您必须在文件的末尾放置提到的命令行,以使环境变量出现在操作系统的每次登录中。


/ etc /环境

如果要在每个窗口或应用程序(而不仅仅是终端窗口)中使用环境变量,则必须编辑此文件。在此文件的末尾添加以下命令:

DISPLAY = 0

注意,在此文件中,您不必编写导出命令

通常,您必须重新启动计算机才能应用此更改。但是您可以通过以下命令在bashrc和配置文件中应用更改:


$ source ~/.bashrc

$ source ~/.profile


但是对于/ etc / environment您别无选择,只能重新启动(据我所知)


一个简单的解决方案

我为此过程编写了一个简单的脚本来完成所有这些工作。您只需要设置环境变量的名称和值即可。

#!/bin/bash

echo "Enter variable name: "

read variable_name

echo "Enter variable value: "

read variable_value

echo "adding " $variable_name " to environment variables: " $variable_value

echo "export "$variable_name"="$variable_value>>~/.bashrc

echo $variable_name"="$variable_value>>~/.profile

echo $variable_name"="$variable_value>>/etc/environment

source ~/.bashrc

source ~/.profile

echo "do you want to restart your computer to apply changes in /etc/environment file? yes(y)no(n)"

read restart

case $restart in

    y) sudo shutdown -r 0;;

    n) echo "don't forget to restart your computer manually";;

esac

exit

将此行保存在shfile中,然后使其可执行并运行它!


查看完整回答
反对 回复 2019-11-11
  • 3 回答
  • 0 关注
  • 573 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信