为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效? 为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里

本文主要是介绍为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效? 为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效?

 

为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效?
各位大虾:
我从网上得知,在ubuntu中,使用source /etc/profile命令可以使新建立的环境变量立刻生效而不用重新启动系统,但是
如题,当我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效,而当我把这个终端关闭重新再
打开另一个终端时,刚才有效的环境变量就没了。

我的过程如下:
打开一个终端,输入命令:
$ source /etc/profile
$ echo $LD_LIBRARY_PATH
/home/zzm/installs/BALL/BALL-1.2/lib/Linux-i386-g++_4.1.3
(可见我在/etc/profile文件里面配置的环境变量生效了)

然后,我把这个终端关闭了,再打开一个终端,输入同样的“echo $LD_LIBRARY_PATH”,就什么都没有显示,显然,环境
变量又变得失效了。

我是在/etc/profile里面添加了下面的内容来设置环境变量的:
--------------------------------------
#设置BALL环境变量
export LD_LIBRARY_PATH=/home/zzm/installs/BALL/BALL-1.2/lib/Linux-i386-g++_4.1.3
export BALL=/home/zzm/installs/BALL/BALL-1.2
--------------------------------------

不知道这是怎么回事,总之,我将系统重新启动之后,环境变量就都生效了,无论在哪个终端里面都有效了。

请问,如何在不重新启动系统的情况下,将环境变量生效,而且是永久生效,不再出现我以上遇到的问题?
我加到自己的 ~/.bashrc 里,并且重新登录了,每次打开终端执行命令,发现环境变量确实生效了,但是我在应用程序里面实验的时候,比如在Java中调用系统命令,环境变量又失效了。

是不是加到自己的 ~/.bashrc 里的环境变量只是对bash等shell有效,而不是真正的对整个系统有效?
==========================================================================
http://www.cnblogs.com/BigIdiot/archive ... 17547.html

在Ubuntu中有如下几个文件可以设置环境变量
1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此 文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
2、/etc/environment:在登录时操作系统使用的第二个文件,系统在 读取你自己的profile前,设置环境文件的环境变量。
3、~/.bash_profile:在登录时用到的第三个文件是.profile文 件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用 户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变游戏量,执 行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该 文件被读取.
4、~/.bashrc:该文件包含专用于你的bash shell的bash信 息,当登录时以及每次打开新的shell时,该该文件被读取。

几个环境变量的优先级

1>2>3


设置永久环境变量

1.环境变量配置中,要先删除.bash_profile中的三行关于.bashrc的 定义,然后把环境变量配置在.bashrc中
2.选择要使用的java环境:update-alternatives –config java
3.要使得刚修改的环境变量生效:source .bashrc
4.查看环境变量:env

可以放到/etc/bash/bashrc,这样就是系统级的
============================================================================

CentOS7 /etc/profile 添加环境变量重启后不生效 必须得执行source /etc/profile 解决方法

原创  2015年03月24日 15:28:51

将环境变量写入/etc/bashrc文件中

================================================================================

为什么每次进入命令都要重新source /etc/profile 才能生效?

  • ubuntu 
  • linux
 
qowoeo7538 2016年07月16日提
 关注   1 收藏, 9.6k 浏览
0
#编辑JDK8
export JAVA_HOME="/usr/java/java8"#编辑maven
export M2_HOME="/opt/idea-IU-162.1121.32/plugins/maven/lib/maven3"#编辑PATH
export PATH="$JAVA_HOME/bin:$M2_HOME/bin:$PATH"

这是我的/etc/profile末尾的配置,JDK是没有问题的,不用source,echo $JAVA_HOME能出来,问题是如果要用mvn,每次就要source一遍才行,maven我用的是IDEA自带的。


答案:也可以放在~/.bashrc里面。或者在~/.bashrc里面加一句source /etc/profile







这篇关于为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效? 为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086871

相关文章

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

有效利用MRP能为中小企业带来什么?

在离散制造企业,主流的生产模式主要为面向订单生产和面向库存生产(又称为预测生产),在中小企业中,一般为面向订单生产,也有部分面向库存和面向订单混合的生产方式(以面向订单为主,面向库存为辅),主要是应对市场需求的波动,对生产稳定性造成影响。 制定资源计划至关重要,但很多中小企业目前依赖人工、Excel表格等传统方式做各种记录、统计分析。时常会遇到: 生产任务无法统筹安排, 采购不及时, 订单

ABAP怎么把传入的参数刷新到内表里面呢?

1.在执行相关的功能操作之前,优先执行这一段代码,把输入的数据更新入内表里面 DATA: lo_guid TYPE REF TO cl_gui_alv_grid.CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTINGe_grid = lo_guid.CALL METHOD lo_guid->check_changed_data.CALL M

Toolbar+DrawerLayout使用详情结合网络各大神

最近也想搞下toolbar+drawerlayout的使用。结合网络上各大神的杰作,我把大部分的内容效果都完成了遍。现在记录下各个功能效果的实现以及一些细节注意点。 这图弹出两个菜单内容都是仿QQ界面的选项。左边一个是drawerlayout的弹窗。右边是toolbar的popup弹窗。 开始实现步骤详情: 1.创建toolbar布局跟drawerlayout布局 <?xml vers

C#中,decimal类型使用

在Microsoft SQL Server中numeric类型,在C#中使用的时候,需要用decimal类型与其对应,不能使用int等类型。 SQL:numeric C#:decimal

探索Elastic Search:强大的开源搜索引擎,详解及使用

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选,相信大家多多少少的都听说过它。它可以快速地储存、搜索和分析海量数据。就连维基百科、Stack Overflow、

flask 中使用 装饰器

因为要完成毕业设计,我用到fountain code做数据恢复。 于是在github上下载了fountain code的python原代码。 github上的作者用flask做了fountain code的demo。 flask是面向python的一个网站框架。 里面有用到装饰器。 今天笔试的时候,我也被问到了python的装饰器。