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

下面是关于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日

相关文章

  • 电脑桌面上的淘宝图标删不掉怎么办呢?

    当电脑桌面上的淘宝图标删不掉时,可以按照以下步骤进行排查和解决: 查看该图标是否被锁定 首先需要查看该淘宝图标是否被锁定,只要锁定了,则无法移除该图标。可以右键单击该图标,选择“属性”选项,在弹出窗口中查看是否勾选了“锁定工具栏”选项。如果已勾选,取消勾选并保存设置即可。 尝试手动删除该图标 如果锁定工具栏选项未勾选,可以尝试手动删除该图标。右键单击该图标,…

    other 2023年6月27日
    00
  • nuxt 路由、过渡特效、中间件的实现代码

    Nuxt 路由、过渡特效、中间件的实现代码攻略 Nuxt.js 简介 Nuxt.js 是一个基于 Vue.js 的通用应用框架,它可以帮助我们快速构建服务器渲染的 Vue.js 应用。Nuxt.js 提供了一些内置功能,包括路由、过渡特效和中间件,使得开发过程更加简单和高效。 路由 Nuxt.js 使用 Vue Router 来实现路由功能。在 Nuxt.j…

    other 2023年7月28日
    00
  • 巧用ajax请求服务器加载数据列表时提示loading的方法

    下面是详细的攻略: 使用ajax请求服务器加载数据列表时提示loading的方法 在使用ajax请求服务器加载数据列表时,如果列表数据较多,可能会出现等待时间较长的情况,这时候就需要给用户一个提示,表明正在加载数据。一般情况下,我们会使用loading图标来表示数据正在加载中。 1. 简单的loading图标 在请求数据之前,在页面上添加一个loading图…

    other 2023年6月25日
    00
  • dmysql自己封装的mysql库

    对于“dmysql自己封装的mysql库”的攻略,我们可以按以下步骤进行: 步骤1:安装dmysql 首先,在使用dmysql之前,需要先安装它。可以使用pip命令来安装: pip install dmysql 步骤2:连接MySQL数据库 连接MySQL数据库的代码如下: from dmysql import Connection # 连接数据库 conn…

    other 2023年6月25日
    00
  • 关于c#:udpclient.receiveasync正确的提前终止

    以下是关于“关于C#: UdpClient.ReceiveAsync正确的提前终止”的完整攻略,过程中包含两个示例 背景 在C#中,可以使用UdpClient类来实现UDP通信。UdpClient类提供了一个ReceiveAsync()方法,用于异步接收UDP数据包。但,有时候我们需要在接收到特数据包后立即停止接收。本攻略将介绍如何正确地提前终止Udp.Re…

    other 2023年5月9日
    00
  • flutter中的资源和图片加载示例详解

    请跟我一起学习Flutter中的资源和图片加载示例详解。我们将分4个部分介绍这个主题。 1.资源文件与图片资源 在Flutter中,通过pubspec.yaml文件来管理资源文件,其中包括图片和其他任何形式的文件(如字体文件、JSON文件和配置文件)。 在pubspec.yaml文件中,通过flutter关键字下的assets属性来声明资源文件和图片。例如下…

    other 2023年6月25日
    00
  • java8stream.iterate示例

    Java 8 Stream.iterate示例攻略 在Java 8中,Stream.iterate()方法是一个用于创建无限流的方法。它接受一个初始值和一个函数,该函数用于生成下一个值。在攻略中,我们将详介绍如何使用Stream.iterate(),并提供两个示例说明。 Stream.iterate的使用 要使用Stream.iterate()方法,我们提供…

    other 2023年5月7日
    00
  • iOS的UI开发中UITabBarControlle的基本使用教程

    iOS的UI开发中UITabBarController的基本使用教程 UITabBarController是iOS开发中常用的一种导航控制器,常用于多功能模块的切换。本教程将介绍UITabBarController的基本使用方法。 1.创建UITabBarController 在Xcode中新建一个工程,选择Single View App,创建好后,在Mai…

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