专栏首页散尽浮华Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)

Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)

在linux系统下,如果下载并安装了应用程序,在启动时很有可能在键入它的名称时出现"command not found"的提示内容。如果每次都到安装目标文件夹内,找到可执行文件 来进行操作就太繁琐了,这种情况下就涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。

环境变量配置的两个方法:

1)修改/etc/profile文件
推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,缺点是可能会给系统带来安全性问题。 这里是针对所有的用户的,所有的shell; 
[root@test ~]# vim /etc/profile 
....
export PATH=$PATH:/usr/local/mysql/bin

使用source命令使修改立刻生效:  
[root@test ~]# source  /etc/profile

2)修改.bashrc文件,这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一个特定的用户,如果需要给某个用户权限
使用这些环境变量,只需要修改其个人用户主目录下的.bashrc文件就可以了。
[root@test ~]# vim /root/.bashrc 
export PATH=$PATH:/usr/local/mysql/bin

[root@test ~]# source  /root/.bashrc

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

[app@test ~]$ vim ~/.bashrc 
......
KETTLE_HOME=/data/nstc/kettle3.2
export KETTLE_HOME

注意:配置好环境变量后,要记得export输出这个变量,否则如下source后无效!
[app@test ~]$ source .bashrc //使之生效
[app@test ~]$ echo $KETTLE_HOME
/data/nstc/kettle3.2
[app@test ~]$ env
.........
KETTLE_HOME=/data/nstc/kettle3.2

========================================================================= .bash_profile和.bashrc的区别:

/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:  为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.
~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Rancher部署并导入K8S集群

    1)这里我将Rancher部署到k8s集群的其中一个node节点172.16.60.234上。

    洗尽了浮华
  • libc.so.6: version 'GLIBC_2.14' not found报错提示的解决方案

    线上一台服务器在执行leveldb程序的时候,报错:"libc.so.6: version `GLIBC_2.14' not found"。 排查原因及解决方法...

    洗尽了浮华
  • zabbix问题记录

    zabbix部署好,在使用一段时间后,出现了不少报错,在此简单做一记录。 1)Zabbix监控界面报错“Lack of free swap space”解决 公...

    洗尽了浮华
  • Linux系统相关配置

    为了使程序在崩溃时产生core文件,我们经常在终端使用命令ulimit -c unlimited 来设置。但是当前设置只能在当前会话有效,当关闭当前会话,打开新...

    Dabelv
  • 象棋游戏~~~

    WolframChina
  • 科技生态5.0——5G带来生活和行业生态大变革

    如果时光能够倒流,我们将能深刻感知人类生活的曲线变化之快。让生活的时钟回到20多年前,回到书信往来的时代,把时间的长河拉长,从点到线我们就能感知到科技发展变化之...

    机器思维研究院
  • 65-偏函数基础应用

    偏函数可以理解为,将现有函数的某些参数固定下来,构造成一个新函数。新函数调用就不用写那么多参数了。

    凯茜的老爸
  • 记64位地址截断引发的挂死问题

    最近要将整个项目的代码从原先的只支持32位变成同时支持32位和64位,这个过程中遇到一个很不容易定位的挂死问题,花了不少时间才定位解决,因此分享给大家。

    编程珠玑
  • Hacking Team 病毒测试环境分析

    0x00 前言 安恒研究团队在Hacking Team泄露的文件中除了发现大量的后门、木马等攻击的源码,还发现了两个用于病毒安全性测试的源代码,分别是test...

    安恒信息
  • 包学包会,这些动图和代码让你一次读懂「自注意力」

    BERT、RoBERTa、ALBERT、SpanBERT、DistilBERT、SesameBERT、SemBERT、MobileBERT、TinyBERT 和...

    机器之心

扫码关注云+社区

领取腾讯云代金券