1. 简介

变量类型:用户自定义变量、环境变量、预定义变量、位置参数变量
环境变量作用:定义每个用户的操作环境。如:PATH、PS1(命令提示符变量)

1.1 source命令

# 使配置文件重新加载,立即生效
# 方式1:
source 配置文件
# 方式2:
. 配置文件

如:

source ./bashrc
. ./bashrc

1.2 环境配置文件-简介

环境变量配置文件中主要定义对系统操作环境生效的系统默认环境变量,如:PATH。PATH、HISTSIZE、PS1、HOSTNAME等环境变量写入对应的环境变量配置文件,重启系统or退出再登录,即可直接生效(永久生效),不需要重新定义

登录时生效的环境变量有:

/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
~/.bash_profile
~/.bashrc

PS:放于 /etc目录下的环境变量配置文件,对所有用户都有效;放于家目录 ~下的环境变量配置文件,只对当前登录用户起作用.

2. 功能

正常完整启动路线:


/etc/profile-->/etc/profile.d/*.sh-->/etc/profile.d/lang.sh-->/etc/sysconfig/i18n
/etc/profile-->~/.bash_profile-->~/.bashrc-->/etc/bashrc-->命令提示符 非完整启动路线:

/etc/profile-->~/.bash_profile-->~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh-->/etc/profile.d/lang.sh-->/etc/sysconfig/i18n

环境变量配置 ANDROID_HOME for mac 环境变量配置文件_环境变量

PS:以上符号“-->”表示调用关系,即上一级调用下一级

2.1 /etc/profile 的作用

USER变量
LOGNAME变量
MAIL变量
PATH变量
HOSTNAME变量
HISTSIZE变量
umask
调用/etc/profile.d/*.sh文件

umask权限

# 查看系统默认权限
umask

PS:
1)文件的最高权限为666(读、写;rw-rw-rw-)
2)目录的最高权限为777(读、写、执行;rwxrwxrwx)
3)权限不能使用数字进行换算,必须使用字母
4)umask定义的权限,是系统默认权限中准备丢弃的权限(将权限数字换算成字母表示,然后将文件or目录的权限减去umask设置的默认权限,通过字母相减)

[root@localhost ~]# umask
0022
[root@localhost ~]#

umask设置的权限,如:022,换算成字母:----w--w-
目录最高权限为777,换算成字母:rwxrwxrwx
文件最高权限为666,换算成字母:rw-rw-rw-

① 初始创建一个目录的默认权限为:
rwxrwxrwx
----w--w-
------------------
rwxr-xr-x(755)
② 初始创建一个文件的默认权限为:
rw-rw-rw-
----w--w-
------------------
rw-r--r--(644)

启动路线①调用关系

环境变量配置 ANDROID_HOME for mac 环境变量配置文件_配置文件_02

环境变量配置 ANDROID_HOME for mac 环境变量配置文件_环境变量_03

2.2 ~/.bash_profile的作用

调用了~/.bashrc文件
在PATH变量后面加入了":$HOME/bin"这个目录(变量叠加)

[root@localhost ~]# cat ~/.bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
[root@localhost ~]#
[root@localhost ~]# vim ~/.bashrc 

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias cman='man -M /usr//share/man/zh_CN'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

2.3 /etc/bashrc的作用

PS1变量
umask
PATH变量
调用/etc/profile.d/*.sh文件

环境变量配置 ANDROID_HOME for mac 环境变量配置文件_bash_04

环境变量配置 ANDROID_HOME for mac 环境变量配置文件_配置文件_05

3. 其他环境变量配置文件

3.1 注销时生效的环境变量配置文件

~/.bash_logout

[root@localhost ~]# vim ~/.bash_logout 

# ~/.bash_logout

~

~/.bash_logout文件初始时未配置有效内容,可根据各自需要设置,如配置清空历史命令的操作:history -c

3.2 其他配置文件

~/.bash_history
历史命令的保存文件

3.3 Shell登录提醒消息

环境变量配置 ANDROID_HOME for mac 环境变量配置文件_配置文件_06

【场景1】本地终端提醒信息配置:/etc/issue
【场景2】远程终端提醒信息配置:/etc/issue.net
1)在/etc/issue.net文件中不能使用转义符
2)远程终端提醒信息显示的开关,由ssh配置文件/etc/ssh/sshd_config决定,需要在其中加入一行"Banner /etc/issue.net"才会开启该功能(需要重启ssh服务:service sshd restart)
【场景3】本地登录or远程登录,登录后都可显示提醒信息配置:/etc/motd