shell脚本 变量类型
什么是Shell变量
用一个固定的字符串去表示不固定的内容。
Shell变量的类型
shell脚本中自定义变量的类型,我们这里分为:
- 自定义变量
- 环境变量
- 位置变量
- 与定义变量
这四类,它们有一些相同点,但又有些不同点。
自定义变量
-
自定义变量的定义:
- 变量名=变量值
- 变量名必须以字母或下划线开头,区分大小写
- 注意定义变量时等号两端不能有空格。我们知道 shell 脚本是空格敏感的,这里就是体现之一。
-
自定义变量的引用:$变量名或${变量名},使用大括号来明确$符号的作用域是一个好习惯
-
查看自定义变量:echo ${变量名} 或 set(所有变量:包括自定义变量和环境变量)
-
取消自定义变量:unset 变量名
-
自定义变量的作用范围:仅在当前Shell中有效
环境变量
-
环境变量的定义:
-
方法一:export 变量名=变量值,同样不能有空格
-
方法二:export 变量名 将自定义变量转换为环境变量
-
-
环境变量的引用:$变量名或${变量名}
-
查看环境变量:echo ${变量名}
-
取消自定义变量:unset 变量名
-
自定义变量的作用范围:在当前Shell中和子Shell中有效
位置变量
- 直接在脚本中按$1, $2等这样引用(注意按顺序)
- 在运行脚本时按位置传参
预定义变量
- $0 脚本名(自己本身)
- $! 上一个后台进程的PID
- $? 上一个命令的返回值(0表示成功)
- $* 所有的参数, "*"会将所有的参数作为整体,输出
- $@ 所有的参数,"@"会将所有的参数分开,输出
- $# 参数的个数
- $$ 当前进程的PID