Ubuntu系统操作之一:环境变量设置

写在前面:
本文根据相关高浏览量高赞的博客内容进行汇总整理,相关引用内容会在后续指明。

Linux 是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。通过使用环境变量,你可以很容易的修改一个牵涉到一个或多个应用程序的配置信息。

我们所说的“环境变量”通常有两种,即环境变量和SHELL变量。接下来,将对两种变量进行介绍。

环境变量是和 Shell 紧密相关的,用户登录系统后就启动了一个 Shell 。对于 Linux 来说一般是 bash ,但也可以重新设定或切换到其它的 Shell 。根据发行版本的情况, bash 有两个基本的系统级配置文件: /etc/bashrc 和 /etc/profile 。这些配置文件包含两组不同的变量: shell 变量和环境变量。前者只是在特定的 shell 中固定(如 bash ),后者在不同 shell 中固定。很明显, shell 变量是局部的,而环境变量是全局的。环境变量是通过 Shell 命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于 bash 这个 Shell 程序来说,可以通过变量名来访问相应的环境变量,通过 export 来设置环境变量。

系统级

  • /etc/profile : 环境变量。操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
  • /etc/bashrc : shell变量。为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取。

用户级(一般可用于我们更改的)

  • ~/.profile : 环境变量。每个用户都可使用该文件配置自己的环境变量,影响当前环境下的每种shell(若存在)。当用户登录时,该文件仅仅执行一次!
  • ~/.bashrc : shell变量。该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。

3.1 方法一:更改用户主目录下的.profile或.bashrc文件,永久有效

假设建立的环境变量名为a,路径为"your path"(同一个变量多个路径时
为"your path1:your path2 …"`)

  • step1: 登录到你的用户(非root),在终端输入:
    sudo gedit ~/.profile(or .bashrc)
  • step2: 检查是否已存在待设置变量a,在终端输入:
    echo $a
    若终端有其它输出,则存在该变量;反之,则没有。
  • step3: 根据步骤二的显示,分两种情况:
    情况1,已存在变量时: export a="$a:your path1:your path2 ..."
    情况2,不存在变量时: export a="your path1:your path2 ..."
    对于,情况1中用, $a调用已有的设置,一个冒号(分隔符)后添加自己的路径;如果不连接原来的$PATH,那么PATH被覆盖,后果很严重。
  • step4: 保存文件,重启电脑或终端输入生效:
    source .profile(or .bashrc)
  • step5: 终端再次输入 echo $a,检查变量是否生效。

3.2 方法二:终端输入,当前shell下有效

根据情况,直接在终端输入:
export a="$a:your path" export a="your path"

这种方式变量立即生效,但仅在此窗口的shell下起作用,另打开终端甚至用户注销或系统重启后设置变成无效,适合临时变量的设置。

[1] https://blog.csdn.net/bugouyonggan/article/details/8731687?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-4-8731687-blog-120027711.pc_relevant_baidufeatures_v7&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-4-8731687-blog-120027711.pc_relevant_baidufeatures_v7&utm_relevant_index=7
[2] https://blog.csdn.net/lixiaoguang20/article/details/53814020?spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-9-53814020-blog-8731687.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-9-53814020-blog-8731687.pc_relevant_default&utm_relevant_index=12
[3] https://blog.csdn.net/hangtianlc/article/details/120027711

原文链接:https://blog.csdn.net/chord_sz/article/details/124748709

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享