ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux环境变量

2022-01-09 22:32:58  阅读:161  来源: 互联网

标签:profile shell etc Linux HOME 环境变量 bash


1. 环境变量的种类

  • 全局环境变量
  • 局部环境变量

1.1 全局环境变量

  • 全局环境变量对于所有的shell都适用(父shell与子shell)

  • 全局环境变量可以使用命令envprintenv显示

    • 显示个别环境变量的值使用printenv命令,使用env命令会报错
      image-20211223202416786

1.2 局部环境变量

  • Linux中没有专门查看局部环境变量的命令,只有使用set命令才能查看包括局部环境变量的所有环境变量

2. 设置自定义环境变量

2.1 设置局部用户自身定义变量

  • 局部环境变量小写,系统环境变量大写
  • 创建变量, 使用 $变量名 就能够引用环境变量

image-20211223203630451

  • 当创建的变量有空格的时候,创建变量时应该使用单引号来界定字符串的首和尾,没有单引号的话,bash shell会以为空格后下一个词是另一个要执行的命令
    image-20211223203950280
  • 用户自定义设置的局部环境变量只能在当前shell下使用,在子shell与父shell中都不能使用

2.2 设置全局环境变量

  • 设置全局环境变量的步骤只比设置局部环境变量多出了一步
  • 创建局部变量后可以使用 export 变量名 来将局部变量转化为全局环境变量
    image-20211223205545608
  • 删除全局环境变量使用 unset 变量名 命令
  • 注意:子shell中修改父shell创建的全局环境变量不会影响父shell,只会对当前子shell产生影响

3. 设置PATH环境变量

  • 我们有时候自己创建了一个脚本,或者在网上下载了一个软件到本地使用,但是只能在当前目录下执行,我们想在所有的shell 以及其他地方中使用,这时候就应该将脚本所在目录的位置添加到PATH环境变量中.
  • 查看PATH环境变量:echo $PATH
  • Linux中通常有以下几个环境变量文件,我们需要合理地选择:
/etc/profile 
/etc/bash.bashrc
$HOME/.bash_profile 
$HOME/.bashrc 
$HOME/.bash_login 
$HOME/.profile 
  • 在上边列举的几个环境变量文件中,/etc/profile和/etc/bash.bashrc 文件是设置全局环境变量的,其余的都是用户级的环境变量文件

3.1 区别

  • 在使用层次方面说,/etc/profile,/etc/bash.bashrc 文件都是为所有用户使用的,其他变量文件都是为单个用户使用的

  • 从文件关系来说,$HOME/.bash_login,$HOME/.bash_profile,$HOME/.profile 都是会查看引用 $HOME/.bashrc 的内容,而$HOME/.bashrc,/etc/profile 则会借鉴 /etc/bash.bashrc 的内容

  • 从执行方式来说,/etc/profile ,$HOME/.bash_profile,$HOME/.bash_login,$HOME/.profile 修改后,都是重启后才能生效的,而/etc/bash.bashrc,$HOME/.bashrc 被修改后重新打开一个执行窗口便能生效,不需要重启

  • 从读取顺序来讲,/etc/profile,/etc/bash.bashrc 重启后一定会被读取,而$HOME/.bash_profile,$HOME/.bash_login,$HOME/.profile 只要被读取一个就不会读取其他的

3.2 注意

  • 各个操作系统包含的环境变量配置文件可能不一样,上述的配置文件只有部分会被使用
  • 在配置全局环境变量的时候,/etc/profile会读取/etc/profile.d文件夹中的内容,所以我们最好在/etc/profile.d文件夹中创建 xxx.sh 文件,在该文件中写上我们想配置的全局环境变量路径,这样做便于维护

3.3 在配置文件中写环境变量路径的方法

  • 环境变量的名称为PATH,引用时使用 $PATH,每个环境变量使用 “ :” 隔开,形如:
export PATH="$HOME/XXXdir:$PATH"
export PATH="$PATH:$HOME/XXXdir"

注:本文截图来自于:

image-20211223222825885

标签:profile,shell,etc,Linux,HOME,环境变量,bash
来源: https://www.cnblogs.com/soulblog/p/15782570.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有