天天看点

BASH 学习——变量

1 前言

在 Linux 中想要与系统交互,比如执行

cd

命令就要通过 Shell ,而 bash 是 Shell 的一种。本篇文章简单介绍 bash。

2 变量

2.1 查看变量

使用命令

echo $变量名

查看变量内容

2.2 变量的设定规则

  1. 使用

    =

    设置变量,比如:

    name=root

    ,注意等号两边没有空格;
  2. 变量可以使用英文字母和数字命名,但是不能以数字开头;
  3. 使用

    export 变量名

    可以将变量设置成环境变量,例如:

    export name

    ;
  4. 使用

    unset 变量名

    可以取消变量,例如:

    unset name

    ;
  5. ""

    可以保留特殊字符原有的特性,例如:

    name=root;var="name is $name";echo $var

    输出的结果是 name is root;
  6. 单引号

    ''

    不会保留特殊字符的特性,上述例子中如果将

    ""

    换成

    ''

    name=root;var='name is $name';echo $var

    输出的结果是 name is $name;
  7. 要将变量的内容设置为某个命令的执行结果可以使用 ` ` (此符号是数字 1 左边的符号)或者

    $

    ,例如:

    name='uname'

    ,会将

    uname

    的执行结果赋值给变量

    name

    ;

2.3 环境变量

  1. 使用

    env

    查看环境变量和说明
  2. 使用

    set

    能够查看所有变量
  3. 使用

    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

配置文件,此文件是整体环境的配置文件。接下来读取个人偏好配置文件。个人偏好配置文件有三个:

  1. ~/.bash_profile

  2. ~/.bash_login

  3. ~/.profile

login shell 设定只会读取上面三个文件的其中一个,读取的顺序就是上述顺序。

3.3 source

由于 /etc/profile 和 ~/.bash_profile 都是在取得 login shell 的时候才会读取配置文件,所以, 如果你将自己的偏好设定写入上述档案后,通常都是得注销再登入后,该设定才会生效。如果想要不重新登录就让设定生效,可以使用命令

source 文档名

或者

. 文档名

继续阅读