文件名称 bash环境变量配置 编制部门 后台运维 作者 丁正凯 当前版本 201807171203 受众范围 运维学员
项目名称
文件名称
bash环境变量配置
编制部门
后台运维
作者
丁正凯
当前版本
201807170924
受众范围
后台运维
文档控制
修改记录
日期
版本
修改类型
修改主要内容
作者
◆修改类型:A增加、B删除、C修改
审阅人
姓名
部门
职位
审阅签字
审阅时间
存档
存档时间
存放方式
存放地点、位置
备注
◆存放方式:A电子、B纸质
目录
1 环境变量 1
2 环境变量配置文件 2
2.1 登录shell会读取的配置文件 2
2.2 配置文件解读 2
3 bash配置文件分类 3
3.1 按生效范围划分 3
3.2 按功能划分 3
3.2.1 profile类 4
3.2.2 bashrc类 4
4 编辑配置文件生效 4
5 bash退出任务 4
6 公司服务器配置变量和别名 5
环境变量:生效范围为当前shell进程及其子进程
变量声明、赋值:
export name=VALUE
declare \-x name=VALUE
变量引用:$name, ${name}
删除变量:unset name
显示所有环境变量(环境变量的查询):
env
printenv
export
declare \-x
示例如下:
\#env 列出环境下所有环境变量与其内容
结果如下:
HOSTNAME=centos6\.magedu\.com 主机名
TERM=linux 这个终端机使用的环境是什么类型
SHELL=/bin/bash目前这个环境下使用的shell是哪个程序
USER=root用户的名称
RANDOM 随机数变量
#set 可查看所有的变量
重要变量有:
PS1\(提示符的设置)
$(关于本shell的PID\)
?\(关于上个执行命令的回传码)
bash内建的环境变量:
PATH
SHELL
USER
UID
HOME
PWD
LANG
HOSTNAME
HISTSIZE
/etc/profile:系统整体的设置
~/\.bash\_profile或 ~/\.bash\_login或 ~/\.profile:用户个人设置,要修改个人数据就在这里写入。
-
1. []()[]()[]()配置文件解读
1、/etc/profile:利用用户的UID来决定重要的变量数据,是每个用户登录取得bash时一定会读取的配置文件。还会调用外部的设置数据,以下数据依照顺序被调用:
/etc/inputrc
/etc/profile\.d/\*\.sh
/etc/sysconfig/i18n
全局的配置在/etc/profile.d/custom.sh
1. ~/\.bash\_profile:bash读完整体环境设置的/etc/profile并借此调用其他配置文件后,接下来会读取用户的个人配置文件。读取个人偏好配置文件主要三个,依序分别是:
~/\.bash\_profile
~/\.bash\_login
~/\.profile
bash的login shell设置只会读取上面三个文件中的其中一个,而读取顺序则是依照上面的顺序。也就是说如果~/.bash_profile存在,那么其他两个文件不论是否存在,都不会被读取。如果~/.bash_profile不存在才会去读取~/.bash_login,而前两者都不存在才会读取~/.profile。
\[feidao@soa\-centos\-40\-195 ~\]$ cat \.bash\_profile
\# \.bash\_profile
\# Get the aliases and functions
if \[ \-f ~/\.bashrc \]; then \#这三行判断并读取 ~/\.bashrc
\. ~/\.bashrc
fi
\# User specific environment and startup programs
PATH=$PATH:$HOME/\.local/bin:$HOME/bin \#这两行处理个人化设置
export PATH
存在两类:
全局配置:放在ETC目录下
/etc/profile
/etc/profile\.d/\*\.sh
/etc/bashrc
个人配置:放在用户家目录下
~/\.bash\_profile
~/\.bashrc
-
1. []()[]()[]()按功能划分
存在两类:
profile类和bashrc类
profile类:为交互式登录的shell提供配置
全局:/etc/profile, /etc/profile.d/*.sh
个人:~/.bash_profile
功用:(1) 用于定义环境变量
\(2\) 运行命令或脚本
为非交互式和交互式登录的shell提供配置
全局:/etc/bashrc
个人:~/.bashrc
功用: (1) 定义命令别名和函数
\(2\) 定义本地变量
修改profile和bashrc文件后需生效(退出时使用文件)两种方法:
(1)重新启动shell进程
(2) . 或source(语法:source filename ; . filename)
例: source /etc/profile
\. ~/\.bashrc
保存在~/.bash_logout文件中(用户),在退出登录shell时运行
用于:
(1)创建自动备份
(2)清除临时文件
__所有自定的环境变量放在 __/etc/profile\.d/custom\.sh __。__
export PS1="\\\[\\e\[35;1m\\\]\[\\u@\\h \\w\]\\\\$\\\[\\e\[m\\\] "
alias sudo='sudo '
alias egrep='egrep \-\-color=auto'
alias fgrep='fgrep \-\-color=auto'
alias grep='grep \-\-color=auto'
alias ls='ls \-\-color=auto'
alias l\.='ls \-d \.\* \-\-color=auto'
alias ll='ls \-l \-\-color=auto'
alias l='ls \-laF'
alias cp='cp \-i'
alias mv='mv \-i'
alias rm='rm \-i'
alias now='date \+%Y%m%d%H%M%S'
以上是基本的最常用的,实际需要的其他变量,在文件后追加,如:
export JAVA\_HOME=/data/soft/jdk
export CATALINA\_BASE=/data/soft/apache\-tomcat\-9\.0\.8
export CATALINA\_HOME=/data/soft/apache\-tomcat\-9\.0\.8
export PATH=$JAVA\_HOME/bin:$CATALINA\_BASE/bin:$CATALINA\_HOME/bin:$PATH