Linux下的环境变量

本文介绍了Bash shell中环境变量的分类及管理方法,包括全局与局部变量的区别、如何设置和删除环境变量、PATH环境变量的扩展等,并详细解释了登录shell时启动文件的加载流程。

在bash shell中,环境变量分为两类:

  • 全局变量
  • 局部变量

全局环境变量不仅对shell会话课件,对所有shell创建的子进程也可见。局部变量则只对创建它们的shell课件。

1.系统环境变量一律使用大写字母以区别于普通用户的环境变量。
查看全局变量,可用printenv命令

2.设置全局环境变量
创建全局环境变量的方法是先创建一个局部环境变量,然后再把它导出到全局环境中。这个过程通过export命令来完成:

ubuntu@VM-150-204-ubuntu:~$ test='testing a long string'
ubuntu@VM-150-204-ubuntu:~$ echo $test
testing a long string
ubuntu@VM-150-204-ubuntu:~$ export test
ubuntu@VM-150-204-ubuntu:~$ bash
ubuntu@VM-150-204-ubuntu:~$ echo $test
testing a long string

3.unset命令删除环境变量

ubuntu@VM-150-204-ubuntu:~$ echo $test
testing a long string
ubuntu@VM-150-204-ubuntu:~$ unset test
ubuntu@VM-150-204-ubuntu:~$ echo $test

ubuntu@VM-150-204-ubuntu:~$

注:如果在子进程中删除了一个全局环境变量,它只对子进程有效。该全局环境变量在父进程中依然有效。

4.PATH环境变量

ubuntu@VM-150-204-ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

这说明shell将在这些目录中查找命令,我们可以添加新的搜索目录到现有的PATH环境变量:

ubuntu@VM-150-204-ubuntu:~$ PATH=$PATH:/home/ubuntu
ubuntu@VM-150-204-ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/ubuntu

PATH中的目录之间是用冒号分隔的,所以只需引用原来的PATH值,然后再给字符串添加新目录就行了

5.登录shell时会从4个不同的启动文件读取命令

  • /etc/profile
  • $HOME/.bash_profile
  • $HOME/.bash_login
  • $HOME/.profile

/etc/profile文件是系统上默认的bash shell的主启动文件,系统上的每个用户登录时都会执行这个启动文件,另外3个启动文件是用户专有的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值