第6章 使用Linux环境变量

[TOC]

什么是环境变量

为了方便管理系统,在shell会话过程定义了存储数据的变量。

环境变量有两种:

  • 全局环境变量(所有shell可见)
  • 局部环境变量(只有创建的shell才可见)

提醒:

  • 全局变量命名习惯全大写,局部变量名不全大写
  • 局部变量可以暴露到全局,用export命令
  • 无法用export修改已存在的全局变量

设置环境变量

定义局部变量语法

# 等于号之间不能存在空格
NAME="张家泳"
age=23

使用变量

echo $NAME

定义全局变量

NAME="daifee"
export NAME

删除环境变量

unset NAME

默认环境变量

  • 系统设置的环境变量
  • shell程序设置的环境变量

设置持久化环境变量

bash shell启动时会执行几个启动文件。具体执行哪几个,由bash shell的启动方式决定。bash shell有3种启动方式:

登录shell

登录时启动的shell

启动文件:

  1. /etc/profile 默认的主启动文件
  2. $HOME/.bash_profile
  3. $HOME/.bashrc 一般被其他启动文件引用
  4. $HOME/.bash_login
  5. $HOME/.profile

启动文件2、4、5,按顺序查找,只执行第一个被查找到的。

交互式shell进程

登录后再在终端启动的shell

只会执行$HOME/.bashrc启动文件

非交互式shell进程

系统执行shell script启动的shell

执行BASH_ENV指定的启动文件,如果没有,则不执行启动文件(主要靠继承父shell获取变量数据)。

环境变量持久化

将环境变量定义在上面提到的文件中,最好是下面两个文件:

  • /etc/profile.d/文件名.sh 所有用户可用
  • $HOME/.bashrc 自己可用

你可能感兴趣的:(第6章 使用Linux环境变量)