环境变量定义

用户自定义变量只在当前的shell中生效,而环境变量会在当前shell和这个shell的所有子shell当中生效
如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的shell中生效

设置环境变量

export 变量名=变量值 #申明变量
env #查询变量
unset 变量名 #删除变量

系统常见环境变量

PATH:系统查找命令的路径

echo $PATH
/Library/Frameworks/Python.framework/Versions/3.9/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

PATH变量叠加
PATH=“$PATH”:/root/sh

环境变量配置文件

使用export定义的环境变量,只能在你当前shell或子shell中使用,如果注销或重启系统,环境变量就会销毁,将环境变量写入相应的配置文件就会永久生效

source命令

修改环境变量配置文件后需要退出然后再登陆,配置文件才能生效
可以直接使用source命令,让配置文件直接生效
source 配置文件
. 配置文件
.是source的缩写

环境变量配置文件中主要是定义对系统的操作环境生效的系统默认环境变量,比如PATH,HISTSIZE,PS1,HOSTNAME等默认环境变量

配置文件主要有:
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc
其中etc下的几个文件,针对所有用户生效,家目录下只对当前用户生效

设置环境变量

这几个配置文件的执行顺序可能如下

具体执行哪个文件可以根据etc/profile的代码查看,后面的文件如果定义了相同的环境变量,会被覆盖

设置系统环境变量

系统环境变量对所有用户生效
(1)在/etc/profile中设置
用户登陆时会执行etc/profile中的代码,但是Linux不推荐在etc/profile中设置环境变量
在profile中使用export设置环境变量,再使用source执行后,使用env命令可以看到该变量

(2)在etc/profile.d文件夹下增加环境变量脚本文件,这是Linux 推荐的方法
在该文件夹下增加一个.sh文件,定义自己的环境变量

ubuntu@VM-4-17-ubuntu:/etc$ cd profile.d/
ubuntu@VM-4-17-ubuntu:/etc/profile.d$ ls
01-locale-fix.sh  bash_completion.sh  cedilla-portuguese.sh  gawk.csh  gawk.sh  ljs.sh  Z97-byobu.sh
ubuntu@VM-4-17-ubuntu:/etc/profile.d$ cat ljs.sh
export ljs="ljs"

(3) 在etc/bashrc中设置环境变量
Linux也不推荐这种方法设置环境变量

用户环境变量

用户环境变量只针对当前用户生效
(1).bash_profile(推荐首选),有的系统也可能是.profile这个文件
当用户登陆时执行,每个用户都可以使用该文件来配置属于自己的环境变量
(2).bashrc
当用户登陆时以及每次打开shell时该文件都会被执行,不推荐在这里面配置环境变量
(3).bash_logout
当每次退出系统时(退出bash shell)时执行该文件

练习
  1. 在/etc/profile中设置一个环境变量myenv:export myenv=myenv

  2. 让环境变量生效
    source /etc/profile

  3. 在其他文件中引用这个环境变量
    echo myenv=$myenv

shell-环境变量以及环境变量的配置文件相关推荐

  1. 管道符和作业控制、shell变量、环境变量配置文件

    2019独角兽企业重金招聘Python工程师标准>>> 管道符 | 管道符的作用是将前面一个命令的输出作为后面一个命令的输入 [root@linux-128 ~]# cat /etc ...

  2. 管道符、shell变量、环境变量配置文件

    2019独角兽企业重金招聘Python工程师标准>>> 8.6 管道符和作业控制 管道符"|" 管道符的作用在于将符号前面的结果丢给符号后面的命令.管道符后面并不 ...

  3. linux超级基础系列——shell变量(本地变量和环境变量)

    linux超级基础系列--shell变量(本地变量和环境变量) 2006-12-04 00:39 为使shell编程更有效,系统提供了一些shell变量.shell变量可以保存诸如路径名.文件名或者一 ...

  4. linux系统默认的环境变量path,Linux编程 12 (默认shell环境变量, PATH变量重要讲解)...

    一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash  shell支持的Bourne变量 Bo ...

  5. ex is not shell_linux超级基础系列——shell变量(本地变量和环境变量)

    为使shell编程更有效,系统提供了一些shell变量.shell变量可以保存诸如路径名.文件名或者一个数字这样的变量名.shell将其中任何设置都看做文本字符串. 有两种变量,本地和环境.严格地说可 ...

  6. 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和普通变量之完全解读...

    2015-05-08 00:15 3896人阅读 评论(10) 收藏 举报 本文章已收录于: 分类: 软件开发进阶(419) 作者同类文章X Unix/Linux杂项(118) 作者同类文章X 版权声 ...

  7. Shell脚本攻略02-玩转变量与环境变量

    概述 变量是任何一种编程语言都必不可少的组成部分,用于存放各类数据. 脚本语言通常不需要在使用变量之前声明其类型.只需要直接赋值就可以了. 在Bash中,每一个变量的值都是字符串. 无论你给变量赋值时 ...

  8. linux读取环境变量替换,linux Shell脚本学习笔记二(变量和环境变量)

    2.变量和环境变量 使用env命令在终端中查看所有与此终端进程相关的环境变量.对于每个进程,在起运行时的环境变量可以使用下面的命令来查看: cat /proc/$PID/environ 其中,将PID ...

  9. linux中环境变量及环境变量配置文件详解

    环境变量:定义每个用户的操作环境 1.      Source命令:修改配置文件后,必须注销重新登录才能生效,使用source命令后,立即生效环境变量配置文件: 命令如下:source 配置文件  或 ...

最新文章

  1. android stadio 快捷键最好的材料 android stadio大全 最牛逼的android stadio快捷键
  2. IDC:聚焦6+6,抓住数字化转型商机
  3. iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager
  4. MFC中的动态创建与运行时识别
  5. SpringMVC+DWR + Hibernate + 菜单树
  6. leetcode题解119-杨辉三角II
  7. python没有数据类型_python基本数据类型都在这里了!
  8. 第一次创业失败的总结 - 产品设计
  9. ef core 批量update 非id_Entity Framework (EF) Core
  10. 插件前奏-android黑科技 hook介绍
  11. 零基础java自学流程-Java语言高级531
  12. 远程查看计算机的mac地址,win8系统下如何获取远程电脑MAC地址
  13. JAVA常用加密解密算法Encryption and decryption
  14. 语音识别框架之kaldi
  15. 奇点云数据中台技术汇 | 数据治理——企业数字化转型的基石
  16. php deployer 从入门到精通
  17. 使用helm部署kubeapps
  18. Java爬取中国天气网实况天气数据
  19. selenium使用 webdriver.Chrome() 报错,找不到执行文件的解决方法(一)
  20. 回归基础 java基础数据 数据处理

热门文章

  1. ThreadLocal是什么
  2. TUH癫痫脑电数据集下载
  3. MACOS聚焦搜索无法搜索相应的软件和文件等,解决办法
  4. Python Socket套接字编程
  5. 《卡拉马佐夫兄弟》:道德权威
  6. angular关于select的留白问题
  7. 保留申请的 Google Voice 号码
  8. 【SVR预测】基于matlab EMD优化SVR预测【含Matlab源码 1403期】
  9. VMware虚拟机网络连接的3种方式
  10. 计算机教师信息化大赛作品,全国“xx杯”计算机专业类说课大赛优秀作品:信息化色彩搭配训练说课课件.ppt...