bash环境变量配置

文件名称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

  1. 环境变量

环境变量:生效范围为当前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
  1. 环境变量配置文件
    1. 登录shell会读取的配置文件

/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

  1. bash配置文件分类
    1. 按生效范围划分

存在两类:

全局配置:放在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\) 定义本地变量
  1. 编辑配置文件生效

修改profile和bashrc文件后需生效(退出时使用文件)两种方法:

(1)重新启动shell进程

(2) . 或source(语法:source filename ; . filename)


   例:   source  /etc/profile

             \.   ~/\.bashrc

  1. bash退出任务

保存在~/.bash_logout文件中(用户),在退出登录shell时运行

用于:

  (1)创建自动备份

  (2)清除临时文件
  1. 公司服务器配置变量和别名

__所有自定的环境变量放在 __/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