1 前言
在 Linux 中想要与系统交互,比如执行
cd
命令就要通过 Shell ,而 bash 是 Shell 的一种。本篇文章简单介绍 bash。
2 变量
2.1 查看变量
使用命令
echo $变量名
查看变量内容
2.2 变量的设定规则
- 使用
设置变量,比如:=
,注意等号两边没有空格;name=root
- 变量可以使用英文字母和数字命名,但是不能以数字开头;
- 使用
可以将变量设置成环境变量,例如:export 变量名
;export name
- 使用
可以取消变量,例如:unset 变量名
;unset name
-
可以保留特殊字符原有的特性,例如:""
输出的结果是 name is root;name=root;var="name is $name";echo $var
- 单引号
不会保留特殊字符的特性,上述例子中如果将''
换成""
为''
输出的结果是 name is $name;name=root;var='name is $name';echo $var
- 要将变量的内容设置为某个命令的执行结果可以使用 ` ` (此符号是数字 1 左边的符号)或者
,例如:$
,会将name='uname'
的执行结果赋值给变量uname
;name
2.3 环境变量
- 使用
查看环境变量和说明env
- 使用
能够查看所有变量set
- 使用
可以将自定义的变量转成环境变量export
3 BASH 环境配置文件
使用 export 设置的环境变量在用户注销登陆后就会失效,如果想要登陆之后就把环境变量设置好就需要环境的配置文件。在配置文件中将要使用的变量设置好。
3.1 non-login shell
non-login 的 bash 是非登陆情况下取得的 bash 接口。该 bash 配置文件仅会读取 ~/.bashrc
3.2 login shell
login shell 是登陆情况下取得的 bash 接口。登陆之后 bash 会先读取
/etc/profile
配置文件,此文件是整体环境的配置文件。接下来读取个人偏好配置文件。个人偏好配置文件有三个:
-
~/.bash_profile
-
~/.bash_login
-
~/.profile
login shell 设定只会读取上面三个文件的其中一个,读取的顺序就是上述顺序。
3.3 source
由于 /etc/profile 和 ~/.bash_profile 都是在取得 login shell 的时候才会读取配置文件,所以, 如果你将自己的偏好设定写入上述档案后,通常都是得注销再登入后,该设定才会生效。如果想要不重新登录就让设定生效,可以使用命令
source 文档名
或者
. 文档名
。