1 前言
在 Linux 中想要与系统交互,比如执行 cd
命令就要通过 Shell ,而 bash 是 Shell 的一种。本篇文章简单介绍 bash。
2 变量
2.1 查看变量
使用命令 echo $变量名
查看变量内容
2.2 变量的设定规则
使用
=
设置变量,比如:name=root
,注意等号两边没有空格;变量可以使用英文字母和数字命名,但是不能以数字开头;
使用
export 变量名
可以将变量设置成环境变量,例如:export name
;使用
unset 变量名
可以取消变量,例如:unset name
;""
可以保留特殊字符原有的特性,例如:
name=root;var="name is $name";echo $var
输出的结果是 name is root;单引号
''
不会保留特殊字符的特性,上述例子中如果将""
换成''
为name=root;var='name is $name';echo $var
输出的结果是 name is $name;要将变量的内容设置为某个命令的执行结果可以使用 ` ` (此符号是数字 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 文档名
或者 . 文档名
。