文章目录

  • 一、设置变量的四种方法
    • (一)在 /etc/profile 文件中添加变量
    • (二)在用户目录下的 .bash_profile 文件中添加变量
    • (三)使用命令 export 声明定义变量
    • (四)使用命令 declare 声明定义变量
  • 二、查看环境变量
    • (一)使用命令 echo 显示单个环境变量的值
    • (二)使用命令 env 显示所有的变量
    • (三)使用命令 export 显示所有的环境变量
  • 三、清除环境变量
  • 四、设置只读变量
  • 五、Linux 的变量种类
    • (一)永久的
    • (二)临时的
  • 六、常用的环境变量

一、设置变量的四种方法

(一)在 /etc/profile 文件中添加变量

在文件 /etc/profile 文件中增加变量,该变量将会对所有用户有效,并且是“永久的”。如果需要修改变量的值可以参考下面的输出变量格式:

export PATH=$PATH:/path1:/path2:/pahtN

例如,编辑 /etc/profile 文件,添加 CLASSPATH 变量:

# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

修改文件后要想马上生效还要运行:

# source /etc/profile

关于命令 export 的用法,详见《Linux命令之 – export 设置/显示系统环境变量》。

(二)在用户目录下的 .bash_profile 文件中添加变量

在用户目录下的 .bash_profile 文件中增加变量,仅会对当前用户有效,并且是“永久的”。

例如,编辑 guok 用户目录 /home/guok 下的 .bash_profile

$ vi /home/guok/.bash.profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

修改文件后要想马上生效就要执行下该配置文件,不然只能在该用户下次登录后才生效:

$ source /home/guok/.bash_profile

(三)使用命令 export 声明定义变量

在 shell 的命令行下直接使用命令 export 声明定义变量,该变量只在当前的 shell或其子 shell 下是有效的,shell 关闭了,变量也就失效了,再打开新 shell 时就没有这个变量,需要使用的话还需要重新定义。

声明定义一个临时变量 HELLO,如下所示:

export HELLO="Hello!"

注意:等号左右两边不允许出现空格!

(四)使用命令 declare 声明定义变量

但 declare 声明定义的变量仅能在当前 shell 环境中起作用,切换 shell 环境后将无效。

二、查看环境变量

(一)使用命令 echo 显示单个环境变量的值

[root@htlwk0001host /]# echo $PATH

(二)使用命令 env 显示所有的变量

[root@htlwk0001host ~]# env
HOSTNAME=redbooks.safe.org
PVM_RSH=/usr/bin/rsh
Shell=/bin/bash
TERM=xterm
HISTSIZE=1000
...

(三)使用命令 export 显示所有的环境变量

[root@htlwk0001host ~]# export
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus"
declare -x HELLO="hello!"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
...

三、清除环境变量

使用 unset 命令来清除环境变量。set 可以设置某个环境变量的值。清除环境变量的用 unset 命令。如果未指定值,则该变量值将被设为NULL。示例如下:

$ export TEST="Test..." # 增加一个环境变量TEST
$ env|grep TEST # 此命令有输出,证明环境变量TEST已经存在了,grep相当于是筛查器,筛查出含有关键词“TEST”的条目
TEST=Test...
$ unset $TEST # 删除环境变量TEST
$ env|grep TEST #此命令没有输出,证明环境变量TEST已经不存在了

四、设置只读变量

使用 readonly 命令设置只读变量,如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:

$ export TEST="Test..." #增加一个环境变量TEST
$ readonly TEST #将环境变量TEST设为只读
$ unset TEST #会发现此变量不能被删除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #会发现此也变量不能被修改
-bash: TEST: readonly variable

五、Linux 的变量种类

按变量的生存周期来划分,Linux 变量可分为两类:

(一)永久的

需要修改配置文件,变量永久生效。

(二)临时的

使用 export 命令声明定义的变量,变量在关闭 shell 时失效。

六、常用的环境变量

PATH 决定了shell 将到哪些目录中寻找命令或程序

HOME 当前用户主目录

HISTSIZE 历史记录数

LOGNAME 当前用户的登录名

HOSTNAME 指主机的名称

SHELL 当前用户Shell类型

Linux 环境变量设置及查看相关推荐

  1. linux+查看系统环境路径,Linux环境变量设置方法总结 PATH、LD_LIBRARY_PATH

    Linux环境变量设置方法总结 PATH.LD_LIBRARY_PATH PATH:  可执行程序的查找路径 查看当前环境变量: echo $PATH 设置: 方法一:export PATH=PATH ...

  2. linux环境变量设置方法总结(PATH/LD_LIBRARY_PATH)

    linux环境变量设置方法总结(PATH/LD_LIBRARY_PATH) 2012-11-09 11:17:25     我来说两句       作者:wangeen 收藏  我要投稿 linux环 ...

  3. 最新gcc下载和linux环境变量设置

    最新gcc下载和linux环境变量设置 一.gcc下载 提供最新gcc下载路径:点这里跳转 http://ftp.gnu.org/gnu/gcc/ 安装 /gcc_package/configure ...

  4. linux环境变量设置方法,Linux环境变量设置指南

    以配置java环境变量为例 [编辑]修改/etc/profile文件 此法对所有用户生效 在文件末尾加入以下内容: JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAV ...

  5. linux环境变量设置 profile,Linux 环境变量 设置 etc profile

    一.Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1.永久的:需要修改配置文件,变量永久生效. 2.临时的:使用export命令声明即可,变量在关闭shell时失效. 二. ...

  6. Linux环境变量设置

    linux环境变量设置图解,Linux环境变量设置 linux环境变量设置图解 一.环境变量的概念 1.环境变量的含义 程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成 ...

  7. Linux环境变量设置中配置文件分析(/etc/profile,~/.bashrc等)(转)

    说明:在研究中发现,对于不同版本的Linux系统有着不同的文件,但是总的入口是不变的/etc/profile,下面只是展示加载顺序的研究过程,所以会有些系统没有这个文件等问题. 一.配置文件与作用域: ...

  8. docker添加新的环境变量_Docker容器环境变量设置与查看

    设置环境变量 在编写Dockerfile时, 我们可以通过ENV来为Docker容器设置相关的环境变量,设置的环境变量在Docker容器中可以通过环境变量来进行引用. Docker容器环境变量设置方法 ...

  9. linux环境变量设置图解,Linux环境变量设置

    一.环境变量的概念 1.环境变量的含义 程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的. 2.环境变量的分类 1)按生效的范围分类. 系统环境变量:公共的,对全部的 ...

最新文章

  1. JAVA-初步认识-第十一章-object类-equals方法覆盖
  2. 网规:第1章计算机网络原理-1.6广域网与接入
  3. GMT 时间日期格式
  4. 【vue-number-scroll】数字逐渐增加或者减少的滚动解决方案
  5. ClickedOnce部署方法
  6. x86_64的内存映射
  7. 人力资源社会保障部关于公布国家职业资格目录的通知
  8. 动态创建Sql Server数据库相关(全)
  9. 【一题多解】Python 字符串逆序
  10. Unity Bound
  11. LEGION联想Y7000P Ubuntu18.04的无线网卡驱动安装
  12. 量子加密欲应用到智能手机 让黑客流泪
  13. Centos 远程桌面管理工具
  14. 微信小程序路线规划导航,选择起点和终点路线规划
  15. 数学基础类:如何求矩阵的特征值和特征向量
  16. sql字符串转时间-日期区间查询
  17. 电商数仓(dwt 层)
  18. java 金融面试题目_面试题 - java金融 - 博客园
  19. Ip可视一键对讲机特点
  20. php电商订单模块设计,电商后台订单管理模块

热门文章

  1. jboss7.0.2_红帽JBoss企业应用平台7.0 ALPHA发布了!
  2. Spring Boot Actuator:在其顶部具有MVC层的自定义端点
  3. osgi架构与linux_OSGi:进入微服务架构的门户
  4. java中的jpa_JPA教程–在Java SE环境中设置JPA
  5. log4j 程序日志_使用log4j监视和筛选应用程序日志到邮件
  6. ejb生命周期_无状态EJB:池化和生命周期
  7. 拥抱模块化Java平台:Java 10上的Apache CXF
  8. tomcat 正常关闭_Tomcat的带有守护程序和关闭钩子的正常关闭
  9. java设计模式迭代器模式_Java中的迭代器设计模式–示例教程
  10. 造成内存泄漏_如何造成内存泄漏