Linux下环境变量配置方法小结(.bash_profile和.bashrc的区别)

yizhihongxing

下面是关于Linux下环境变量配置方法小结以及.bash_profile和.bashrc的区别的完整攻略。

什么是环境变量

在计算机中,环境变量是一组动态的、可以被脚本程序修改的键值对,被用来传递程序运行时需要的信息。可以通过$VARNAME的形式在Shell脚本中访问环境变量。

环境变量的配置方法

1. 临时设置环境变量

在Linux系统中,我们可以通过export命令来为当前会话设置环境变量,例如:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

这个设置只在当前终端窗口中有效,关闭终端窗口后这个环境变量就会被清除。

2. 在.bashrc文件中设置环境变量

.bashrc是每个用户的bash shell的启动文件,在用户登录到系统时被执行。如果您想要在每次登陆系统时自动设置环境变量,可以将这些设置添加到您的.bashrc文件中。例如在.bashrc文件中添加以下行可以将JAVA_HOME环境变量设置为/usr/lib/jvm/java-8-openjdk-amd64

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

然后运行以下命令使更改生效:

source ~/.bashrc

3. 在.bash_profile文件中设置环境变量

.bash_profile是在用户登录时执行的登录shell的启动文件。它只在用户登录时执行一次,所以它是设置用户环境变量的另一个好地方。例如,在.bash_profile文件中添加以下行可以将JAVA_HOME环境变量设置为/usr/lib/jvm/java-8-openjdk-amd64

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

然后运行以下命令使更改生效:

source ~/.bash_profile

.bashrc和.bash_profile的区别

.bashrc和.bash_profile都是启动文件,但是它们的作用略有不同。.bashrc是用于每次打开新的终端窗口时执行一次的,而.bash_profile是用于登录到系统时执行一次的。如果您要在每次打开新的终端窗口时设置环境变量,那么将设置添加到.bashrc文件中。如果您只需要设置一次环境变量并且希望它在所有打开的shell会话中都可用,那么将设置添加到.bash_profile文件中。

示例

示例1:在.bash_profile文件中设置JAVA_HOME环境变量

  1. 打开终端窗口,并输入以下命令打开.bash_profile文件:
vi ~/.bash_profile
  1. 在打开的文件中添加以下两行,用于设置JAVA_HOME和将JAVA_HOME/bin添加到PATH环境变量中:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
  1. 保存文件并在终端中执行以下命令,使更改生效:
source ~/.bash_profile
  1. 然后就可以在终端窗口中尝试输入以下命令来检查JAVA_HOME是否成功设置:
echo $JAVA_HOME

示例2:在.bashrc文件中设置一个自定义的环境变量

  1. 打开终端窗口,并输入以下命令打开.bashrc文件:
vi ~/.bashrc
  1. 在打开的文件中添加以下一行,用于设置MY_VAR这个环境变量:
export MY_VAR="Hello World"
  1. 保存文件并在终端中执行以下命令,使更改生效:
source ~/.bashrc
  1. 然后就可以在终端窗口中尝试输入以下命令来检查MY_VAR是否成功设置:
echo $MY_VAR

这就是关于Linux下环境变量配置方法小结,以及.bash_profile和.bashrc的区别的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux下环境变量配置方法小结(.bash_profile和.bashrc的区别) - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 怎么清理苹果内存空间 苹果内存清理的详细图文步骤

    怎么清理苹果内存空间:苹果内存清理的详细图文步骤 清理苹果设备的内存空间可以帮助提高设备的性能和响应速度。下面是一份详细的图文步骤,教你如何清理苹果设备的内存空间。 步骤一:关闭不必要的应用程序 关闭不必要的应用程序可以释放设备的内存空间。以下是如何关闭应用程序的示例说明: 在设备的主屏幕上,双击Home按钮(或者在没有Home按钮的设备上,从底部向上滑动并…

    other 2023年7月31日
    00
  • keil5最新破解教程

    为了保护正版软件的版权,我们不应该支持或鼓励破解软件。要获得 Keil 5 的最新版本,建议购买合法的许可证或加入 Keil 官方计划。如果您有任何合法的使用需求,请考虑咨询 Keil 官方支持团队。 此外,我们也不会提供任何非法破解软件或教程。我们应该尊重知识产权和法律法规。 无论如何,如果您遇到任何 Keil 相关的问题,我们乐意提供帮助和解答。请提出具…

    其他 2023年4月16日
    00
  • Python子类继承父类构造函数详解

    Python子类继承父类构造函数详解 在Python的类继承中,子类可以继承父类的构造函数。本攻略将详细介绍Python子类继承父类构造函数的相关知识。 什么是构造函数? 构造函数是Python中的一种特殊函数,用于在对象创建时进行初始化操作。通常,构造函数的名称为__init__,并且该函数会自动调用。 下面是一个简单的类定义,该类包含一个构造函数: cl…

    other 2023年6月26日
    00
  • wolfrpgeditor游戏解包

    Wolfrpgeditor游戏解包 Wolfrpgeditor 是一款制作RPG游戏的软件,使用者可以通过该软件制作自己的RPG游戏。但是,由于该软件封装了一些游戏资源,导致其它玩家无法直接查看游戏资源。而在一些情况下,我们需要查看或修改游戏文件中的一些资源,此时就需要进行游戏解包了。 解包工具 目前,主要有两种解包工具:WOLF RPG Editor De…

    其他 2023年3月29日
    00
  • C++移动语义详细介绍使用

    C++移动语义详细介绍使用 什么是移动语义 C++11引入移动语义的主要目的是为了提高代码的效率。传统的C++使用拷贝构造函数深拷贝的方式实现对象传递,对于大量数据的传递效率非常低下。而移动语义则是通过移动资源的方式来实现对象传递,不需要进行不必要的复制操作,从而提高效率。 C++11中规定,如果一个对象的资源可以被移动,那么这个对象就是可移动的。 如何使用…

    other 2023年6月26日
    00
  • 谈谈Java中自定义注解及使用场景

    接下来我将为您详细讲解Java中自定义注解及使用场景的攻略。 什么是自定义注解 Java中的注解(Annotation)是一种描述程序元素的一种标记,常用于代码的编译、运行和解析。而自定义注解,即程序员自己定义的注解类型,可以用来为代码元素添加额外的元信息,包括作者、版本、参数等信息。自定义注解需要使用Java的注解元素(Annotation Element…

    other 2023年6月25日
    00
  • 基于python内置函数与匿名函数详解

    当然!下面是关于\”基于Python内置函数与匿名函数详解\”的完整攻略,包含两个示例说明。 … … … … 示例1:内置函数 Python提供了许多内置函数,可以直接使用而无需导入任何模块。下面是一些常用的内置函数及其用法: … … … … … … … … … … … … … … ..…

    other 2023年8月20日
    00
  • 【java】对象赋值给另一个对象

    在Java中,对象赋值给另一个对象可以通过引用传递来实现。以下是一个完整攻略,介绍了Java中对象赋值的过程和示例。 步骤1:创建一个Java类 首先我们需要创建一个Java类,用于演示对象赋值的过程。以下是一个示例: public class Person { private String name; private int age; public Per…

    other 2023年5月6日
    00
合作推广
合作推广
分享本页
返回顶部