参考资料:https://www.imooc.com/learn/336

1. 用户自定义变量

规则

  1. 变量名只能由字母、数字、下划线组成;且只能以字母和下划线打头。
  2. 变量名长度不能超过255个字符。
  3. 变量名在有效的范围内必须是唯一的。

注意点
在 bash 中,变量的默认类型都是字符串型。

变量叠加

# x 为123,用变量叠加将 x 变为123456
x=123
x="$x"456

变量查看

set 变量名
- 选项:-u 如设定此选项,调用未声明变量时会报错(默认无任何提示)

变量删除

unset 变量名

2. 环境变量

设置环境变量

export 变量名=变量值
或
变量名=变量值
export 变量名

查看环境变量

set
# 查看所有变量
env
# 查看环境变量

PATH环境变量
作用:系统查找命令的路径

echo $PATH
# 查看PATH环境变量
PATH="$PATH":/root/sh
# 增加PATH变量的值

3. 位置参数变量

位置参数变量作 用
$nn为数字。$0代表命令本身,$1-$9代表第一到第九个参数,10以上需要用{}包含,如${10}
$*代表命令行中所有参数,且把所有参数看成一个整体
$@代表命令行中所有参数,但是每个参数区别对待
$#代表命令行中参数的个数

4. 预定义变量

预定义变量作用
$?代表最后一次执行的命令的返回状态。若值为0,代表上一个命令正确执行;若值为非0(具体值为多少由命令本身决定),则代表上一个命令执行不正确。
$$当前进程的进程号 (PID)
$!后台运行的最后一个进程的进程号 (PID)

read 命令

read [选项] [变量名]
选项: -p “提示信息”:在等待read输入时,输出提示信息
      -t 秒数:read命令会一直等待用户输入,此选项可指定等待时间
      -n 字符数:read命令只接受指定的字符数,就会执行
      -s : 隐藏输入的数据,用于机密信息的输入