Bash环境变量

环境变量的配置

bash 的环境变量

source 命令

  • 作用:刷新修改过的配置文件,使其生效

例:刷新配置文件

source /etc/profile			# 刷新配置文件
. /etc/bashrc				# "." 的作用同 source 一样

注:source 可以执行脚本,是在当前 bash 环境加载这个文件 —— 不要这么用

注:“.” 的作用同 source 一样,用于刷新配置

环境变量配置文件,登录系统时生效的环境变量配置文件

  • /etc/profile
  • ~/.bash_profile
  • ~/.bashrc
  • /etc/bashrc

文件调用的顺序是

  • /etc/profile --》~/.bash_profile --》~/.bashrc --》/etc/bashrc

注:后加载的配置文件可以覆盖前面文件中的内容,并且,调用顺序关系就在文件之中,前面文件丢失后面文件就也不会调用了

先调用 /etc/profile 文件,在这个环境变量配置文件中会定义这些默认环境变量

  • USER 变量:根据登录的用户,给这个变量赋值 —— 就是让 USER 变量的值保存当前用户名
  • LOGNAME 变量:根据 USER 变量的值,给这个变量赋值
  • MAIL 变量:根据登录的用户,定义用户的邮箱为 /var/spool/mail/用户名
  • PATH 变量:根据登录用户的身份,决定 PATH 变量是否包含专属目录(/root/sh)
  • HOSTNAME 变量:更改主机名,给这个变量赋值
  • HISTSIZE 变量:定义历史命令的保存条数

~/.bash_profile 文件主要实现了两个功能

  • 在 PATH 变量后面加入了 “:$HOME/bin” 这个目录 —— 做了变量的叠加

  • 调用了 ~/.bashrc 文件

    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
    	. ~/.bashrc					# 加载,调用 ~/.bashrc 文件
    fi
    

如果我们在自己的家目录中建立 bin 目录,然后将脚本放入,就可以直接执行脚本,而不用通过路径

~/.bashrc 文件中主要实现

  • 定义默认别名,所以我们把自己定义的别名也放入了这个文件

  • 调用 /etc/bashrc

    # Source global definitions
    if [ -f /etc/bashrc ]; then
    	. /etc/bashrc									# 调用 /etc/bashrc
    fi
    
    # User specific environmnet
    if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]
    then
    	PATH="$HOME/.local/bin:$HOME/bin $PATH"			# 变量叠加
    fi
    exprot PATH
    

/etc/bashrc 文件中主要定义了这些内容

  • PS1 变量:也就是用户的提示符

    • 如果我们想要永久修改提示符,就要在这个文件中修改
  • umask:定义 umask 默认权限。

    • 这个文件中定义的 umask 是针对 “没有登录过程” 时生效的
    • 如果是 “有用户登录过程” 则是 /etc/profile 中的 umask 生效
    • 有没有 “登录过程” 指用户是否输入过密码
  • PATH 变量:会给 PATH 变量追加值,当然也是在 “没有登录过程” 时才生效

  • 调用 /etc/profile.d/*.sh 文件

    for i in /etc/profile.d/*.sh; do			#依次调用 /etc/profile 中所有的脚本
    	if [ -r "$i" ]; then					#判断是否脚本可读
    		if [ "$PS1" ]; then					#是否有值
    			. "$i"							#加载,调用
    		else
    			. "$i" >/dev/null				#否则,放弃
    		fi
    	fi
    done
    

注:文件调用顺序是 /etc/profile --》~/.bash_profile --》~/.bashrc --》/etc/bashrc

其中:~/.bash_profile 调用 /.bashrc,/.bashrc 再调用 /etc/bashrc —— 中间的文件丢失后面文件就不能加载了

注销专用环境变量配置文件

  • 在用户退出登录时,只会调用一个环境变量配置文件,就是 ~/.bash_logout
  • 这个文件默认没有写入任何内容,可是如果我们希望退出登录时执行一些操作
  • 比如清除历史命令,备份某些数据,就可以把命令写入这个文件
  • ~./bash_logout —— 检查用户在退出当前用户身份时要进行的操作

例:让每次退出时,自动备份 /root/ 下所有文件

#~/.bash_logout
rm -rf /root_bak/*					# 备份之前删除原有备份
cp -af /root/* /root_bak			# -a 保留元数据信息,-f 强制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值