1. 变量

Shell也可以设置变量,如系统默认的变量 SHELL(当前用户的解释器)、USER(当前用户)、HOME(当前用户的加目录)等

查看这些变量的值只需要 echo $变量名即可

例如:

echo $SHELL

echo $USER

echo $HOME

上述输出结果根据笔者所在的环境分别为

/bin/zsh

ecs-user

/home/ecs-user

下面开始更加详细的说明

1.1. 系统变量

系统变量,顾名思义,就是系统自带的变量

除了已经介绍过的SHELL、USER、HOME等外,还有如

    PATH:环境变量,包含了可执行文件的搜索路径。
    BASH_VERSION:Bash shell的版本信息。
    PWD:当前工作目录的绝对路径。
    LANG:系统的语言和字符集设置。
    TERM:终端类型。
    LOGNAME:当前登录的用户名。
    HISTSIZE:命令历史记录的数量。
    LINES:终端的行数。
    USER:非root用户的用户名。
    UID:用户ID(root用户为0)。
    GID:组ID(root用户为0)。

额外的:

  • 使用env命令查看当前系统定义的所有环境变量
  • 使用set命令显示所有本地定义的Shell变量

1.2. 自定义变量

除了系统自带的系统变量以外,用户还可以自定义属于自己的变量

1) 基本语法

  • 定义变量 变量名=变量值 等号两边不能有空格
  • 撤销变量 unset 变量名
  • 静态变量 readonly 变量名 静态变量不可撤销
  • 全局变量 export 变量名

2)变量命名规则

  • 变量名必须以字母(a-z、A-Z)或下划线(_)开头
  • 变量名区分大小写,环境变量命名建议大写
  • 变量名不能是bash的内置命令或关键字
  • 变量名长度不能超过99个字符
  • 变量名不能包含空格或其他特殊字符

3)变量使用技巧

  • 变量默认类型都是字符串类型,无法直接进行数值运算
  • 变量的值如果有空格,需要使用双引号或单引号括起来

1.3. 特殊变量

1.3.1 $n