Linux 查看环境变量_linux修改环境变量顺序

Linux 查看环境变量_linux修改环境变量顺序一、Linux的变量种类     按变量的生存周期来划分,Linux变量可分为两类:     1、永久的:需要修改配置文件,变量永久生效。     2、临时的:使用export命令声明即可,变量在关闭shell时失效。 二、设置变量的三种方法1、在/etc/profile文件中添加变量【对所有用户生效(永久的)】     用VI在文件/etc/profile文件

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

       环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等。

 一、Linux的变量种类

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

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

      2、临时的:使用export命令声明即可,变量在关闭shell时失效。

 

二、设置变量的三种方法

1、在/etc/profile文件中添加变量【对所有用户生效(永久的)】

      用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

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

      # vi /etc/profile

       export  PATH=/home/fs : $PATH    

  注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。

     

2、在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

      用VI在用户目录下的.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不然只能在下次重进此用户时生效。

 

3、直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

      在shell的命令行下直接使用[export 变量名=变量值]

      定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

 

三、PATH声明,其格式为:

      PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:——:<PATH N>

      你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效。

      如果想立刻生效,则可执行下面的语句:$source .bash_profile

      需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。

      完成后,可以通过$ echo $PATH查看当前的搜索路径。这样定制后,就可以避免频繁的启动位于shell搜索的路径之外的程序了。

 

四、常用的环境变量

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

  HOME      当前用户主目录

  HISTSIZE 历史记录数

  LOGNAME   当前用户的登录名

  HOSTNAME 指主机的名称

  SHELL   当前用户Shell类型

  LANGUGE  语言相关的环境变量,多语言可以修改此环境变量

  MAIL   当前用户的邮件存放目录

  PS1   基本提示符,对于root用户是#,对于普通用户是$

 

五、常用的环境变量相关命令

1. 显示环境变量HOME
fs@ubuntu:~$ echo $HOME/home/fsfs@ubuntu:~$ 

2. 设置一个新的环境变量hello

fs@ubuntu:~$ export HELLO="Hello"fs@ubuntu:~$ echo $HELLOHellofs@ubuntu:~$ 

3. 使用env命令显示所有的环境变量

fs@ubuntu:~$ env
SSH_AGENT_PID=2427
GPG_AGENT_INFO=/tmp/keyring-Sqfg93/gpg:0:1
TERM=xterm
SHELL=/bin/bash
XDG_SESSION_COOKIE=689f5a37acfced492491d99f00000008-1450313888.771442-154751925
HELLO=Hello
WINDOWID=62914565
OLDPWD=/home/fs/qiang/shell
GNOME_KEYRING_CONTROL=/tmp/keyring-Sqfg93
USER=fs
....

4. 使用set命令显示所有本地定义的Shell变量 

fs@ubuntu:~$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0

...

5. 使用unset命令来清除环境变量

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

fs@ubuntu:~$ export TEST="Test" \\增加一个环境变量TEST
fs@ubuntu:~$ env | grep TEST \\此命令有输出,证明环境变量TEST已存在
TEST=Test
fs@ubuntu:~$ unset $TEST \\删除环境变量TEST
fs@ubuntu:~$ env | grep TEST \\此命令没输出,证明环境变量TEST已经存在了

   

6. 使用readonly命令设置只读变量

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

fs@ubuntu:~$ export TEST="Test" \\增加一个环境变量TEST
fs@ubuntu:~$ readonly TEST \\将环境变量TEST设为只读
fs@ubuntu:~$ unset TEST \\此变量无法删除
bash: unset: TEST: cannot unset: readonly variable
fs@ubuntu:~$ TEST="NEW" \\此变量不可更改
bash: TEST: readonly variable
fs@ubuntu:~$ 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187128.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月1日 下午1:36
下一篇 2022年10月1日 下午1:36


相关推荐

  • 全面了解制作滚动字幕完全手册

    全面了解制作滚动字幕完全手册

    2021年8月5日
    56
  • 关于Java并发编程的总结和思考

    关于Java并发编程的总结和思考编写优质的并发代码是一件难度极高的事情 Java 语言从第一版本开始内置了对多线程的支持 这一点在当年是非常了不起的 但是当我们对并发编程有了更深刻的认识和更多的实践后 实现并发编程就有了更多的方案和更好的选择 本文是对并发编程的一点总结和思考 同时也分享了 Java5 以后的版本中如何编写并发代码的一点点经验

    2026年3月18日
    2
  • OpenClaw 自动化别踩坑:装 3 个 Skill 不等于真的好用

    OpenClaw 自动化别踩坑:装 3 个 Skill 不等于真的好用

    2026年3月13日
    2
  • 好的留言本,看看呀!

    好的留言本,看看呀!

    2021年7月23日
    50
  • UML 对象图

    UML 对象图在 UML 中 类图描述的是系统的静态结构和关系 而交互图描述系统的动态特性 在跟踪系统交互过程中 会涉及系统交互过程的某一瞬间交互对象的状态 但系统类图和交互图两者均没有对此进行描述 所以 在 UML 中就用 对象图 来描述参与一个交互的各队对象在交互过程中的某一时刻的状态 对象图概述在 UML 中 对象图 ObjectDiagra 表示在某一时刻一组对象以及它们之间关系的图 对象图

    2026年3月18日
    2
  • python return换行(python中的换行)

    广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!代码太长怎么办,反斜杠引号‘’来帮忙!在写list或者较长的字符串时候,或者多个循环造成ide不够用时,就需要代码换行了。主要的代码换行有通用的反斜杠和针对字符串起作用的三引号结构。1.反斜杠对于一般表达式来说,反斜杠后直接回车即可实现续行,使用的关键在于反斜杠后不能用空格…

    2022年4月16日
    326

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号