Linux中修改环境变量及生效方法(永久、临时)环境变量查看

2024-06-13 21:32

本文主要是介绍Linux中修改环境变量及生效方法(永久、临时)环境变量查看,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux中修改环境变量及生效方法如下:

方法一:  

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

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

要让刚才的修改马上生效,需要执行以下代码  

# source /etc/profile  

  

方法二:  

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

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

要让刚才的修改马上生效,需要在用户目录下执行以下代码  

# source .bash_profile  

  

方法三:  

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

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

 

例如:export PATH=/usr/local/webserver/php/bin:$PATH  

 

------------------------------------------------------------------------

按变量的生存周期来划分,Linux变量可分为两类,它们的修改方法如下:

 

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

 

 常见的配置文件包括:

(1-1) 

/etc/profile:对所有用户生效;此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行;并从/etc/profile.d目录的配置文件中搜集shell的设置

 

 例如:编辑/etc/profile文件,添加CLASSPATH变量
 # vim  /etc/profile
 添加一行:
 export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

 

 修改后需要执行重新登录才能生效,也可以执行命令source /etc/profile来生效

 

 (1-2) 

 /etc/bashrc:对所有用户生效;

为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。

 

 

 编辑方法如上,不再赘述

 

 

 (1-3) 

  ~/.bash_profile:仅会对当前用户有效;

每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。

 

 

 例如:编辑yumh用户目录(/home/yumh)下的.bash_profile
 $ vim /home/yumh/.bash.profile
 添加如下内容:
 export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
 修改后需要执行重新登录才能生效,也可以执行命令source /etc/profile来生效

 

 

 (1-4)

  ~/.bashrc:仅会对当前用户有效;

该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

 

 

 

 编辑方法如上,不再赘述


 另外,~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系


 综述,对上述文件修改,添加你需要的变量,在启动一个shell(终端,terminal)时,你所定义的变量均会生效的。

 

 

 

(2)临时有效:

   使用export命令声明即可,变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,在关闭shell后失效,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

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


环境变量的查看
(1)使用echo命令查看单个环境变量。例如:
      echo $PATH
(2)使用env查看所有环境变量。例如:
      env
 echo 
(3)使用set查看所有本地定义的环境变量。例如:
      set
另外,unset可以删除指定的环境变量。



常用的环境变量名称(echo  变量名称

 

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

 

HOME 当前用户主目录

HISTSIZE 历史记录数

LOGNAME 当前用户的登录名

HOSTNAME 指主机的名称

SHELL 当前用户Shell类型

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

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

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

 

 

这篇关于Linux中修改环境变量及生效方法(永久、临时)环境变量查看的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058474

相关文章

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方