环境变量的学习

环境变量

概念

环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数

环境变量的分类

环境变量分为三种:局部(临时)环境变量、用户环境变量、系统环境变量

局部(临时)环境变量:在所运行的脚本或shell中存在

用户环境变量:在当前登录的用户环境中存在

系统环境变量:在当前系统中存在,可以被任意用户、脚本或shell访问到

访问顺序

环境变量访问顺序:优先从局部环境变量开始,找不到的就到用户环境变量中,最后再到系统环境变量中访问。

局部环境变量→用户环境变量→系统环境变量

Windows环境变量

临时环境变量:

在Windows下,打开CMD(命令提示符),输入:

通过执行上述命令,我们发现 user 是一个变量,里面存放的值会被用户修改变化,但使用这个变量名 user,我们始终可以获取到里面的最新值。

SET 的环境变量仅在当前 CMD 窗口下有效,并且会随着 CMD 的关闭而释放;

如需永久保留环境变量,则需要在系统设置中配置并保存

全局环境变量

全局环境变量分为用户环境变量和系统环境变量

用户环境变量:仅在当前用户登录的环境下起作用,如切换成其他用户,那么其环境变量也随之发生变化

系统环境变量:不管是哪个用户登录在当前系统中,都共享使用的环境就变量

Linux环境变量

临时环境变量:

Shell 变量名在定义时,首个字符必须为字母(a-z,A-Z),不能以数字开头,中间不能有空格,可以使用下划线 _ ,不能使用 - ,也不能使用标点符号等。

export 和‌ 不使用 export‌ 的主要区别在于变量的作用范围和可见性:

  • 使用 export:通过使用 export 命令将变量导出为环境变量,这个变量不仅在当前 shell 进程中有效,而且在其子进程中也是可见的。这意味着,如果其他进程或脚本需要访问这个变量,它们可以通过环境变量的方式获取到这个变量的值。被导出的变量可以被其他进程或脚本访问,具有继承性,即被子进程继承。
  • 不使用 export‌:这个变量就仅仅在当前shell进程中有效,不会被其他进程或脚本访问到。这样的变量只在当前的 shell 进程中有效,不具备继承性,即不会被子进程继承。

全局环境变量

与 Windows 下相同,Linux 下的全局环境变量也分为 用户环境变量 和 系统环境变量

用户环境变量

在Linux系统中,用户环境变量的配置文件主要有两个,分别是 .bashrc 和 .bash_profile(或 .profile)。这些文件通常位于用户的主目录下,并且是隐藏文件,需要通过特定的命令来查看和编辑。

  • .bashrc:这个文件用于配置与 Bash Shell 相关的环境变量和个性化设置,如命令别名、PATH 环境变量的设置、命令提示符的格式等。它会在每次启动新的非登录 Shell 时自动执行。
  • .bash_profile(或 .profile):这个文件用于配置登录 Shell 的环境变量,它会在用户登录时执行一次。如果系统中没有 .bash_profile 文件,那么 .profile 文件会被读取。
系统环境变量

在 Linux 系统中,系统环境变量的配置文件主要有以下几个:

  1. /etc/environment:这是一个全局配置文件,用于设置系统级别的环境变量。它会在系统启动时被读取,并且对所有用户生效。

  2. /etc/profile:这个文件用于设置全局的 shell 环境变量,它会在用户登录时被读取。它通常包含一些系统级别的环境变量设置,如 PATH、LANG 等。

  3. /etc/profile.d/ 目录下的脚本文件:这个目录下存放了一系列的 shell 脚本文件,每个文件都可以设置一些环境变量。这些脚本文件会在 /etc/profile 被读取时自动执行。

  4. /etc/bash.bashrc:这个文件用于设置 Bash shell 的全局环境变量。它会在新的 Bash shell 启动时被读取。

  5. /etc/sysconfig 目录下的配置文件:这个目录下有一些特定的配置文件,如 sysconfig/networksysconfig/java 等,它们也可以设置一些环境变量。

source

source 命令在 Linux 系统中用于在当前 shell 会话中执行指定的脚本文件,从而使得脚本文件中的命令和变量设置立即生效。换句话说,source 命令可以让你在不重新启动 shell 的情况下,直接应用脚本文件中的更改。

因此,配置好全局环境变量后,还需要使用 source 命令来使该配置文件生效。

例如:source ~/.bashrc

shell

shell概念

Linux 作为一个操作系统,称为 kernel,一般用户不能直接使用 kernel,而通过 kernel 的外壳程序 Shell 和 kernel 进行沟通。

Shell 作为外壳程序,包裹在 Linux 内核外层,是一个应用程序,通过一系列的 Linux命令对操作系统 发出相关治疗提供人际界面。它连接了用户和 Linux 内核,让用户更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。bash 是 Shell 的一种。

shell执行过程:

常见的shell:

  • Bourne Shell(/usr/bin/sh 或 /bin/sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)
  • Shell for Root(/sbin/sh)
学习Linux环境变量的语法可以帮助你正确设置和管理环境变量。下面是一些常见的Linux环境变量语法: 1. 设置环境变量: - 使用`export`命令来设置环境变量。语法如下: ``` export VARIABLE_NAME=value ``` 其中,`VARIABLE_NAME`是环境变量的名称,`value`是相应的值。例如,要设置`PATH`环境变量,可以使用: ``` export PATH=/usr/local/bin:$PATH ``` 2. 查看环境变量: - 使用`echo`命令来查看特定环境变量的值。语法如下: ``` echo $VARIABLE_NAME ``` 例如,要查看`PATH`环境变量的值,可以使用: ``` echo $PATH ``` 3. 永久设置环境变量: - 如果希望永久设置环境变量,可以将相应的设置语句添加到Shell的配置文件中。常见的配置文件包括: - `~/.bashrc`:用户级别的配置文件,适用于当前用户。 - `~/.profile`:用户级别的配置文件,在登录时会加载。 - `/etc/environment`:全局级别的配置文件,适用于所有用户。 - 打开相应的配置文件,使用文本编辑器添加设置语句,保存并重新加载Shell配置,或者重新登录以使设置生效。 4. 变量替换: - 在环境变量的值中,可以使用其他环境变量或命令的输出进行替换。 - 使用`${}`语法进行变量替换。例如,要将`$HOME`环境变量的值添加到`PATH`中,可以使用: ``` export PATH=${HOME}/bin:$PATH ``` - 使用`` `command` ``或`$(command)`语法来替换命令的输出。例如,将当前日期添加到环境变量中: ``` export CURRENT_DATE=$(date +%Y-%m-%d) ``` 这些是一些常见的Linux环境变量语法。通过学习和实践,你可以更好地理解和应用环境变量的设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值