一、自定义变量
- 自定义变量命名:命名可以由字母、数字、下划线构成,不能以数字开头
- 变量名、=、值之间不允许有空格,否则会报错
- shell大小写敏感,var1和Var1是两个变量
- shell是弱类型语言,即如果给某个变量赋值数字,会默认其为字符串。举例:
#!/bin/bash # var1=123 var2=234 echo $var1+$var2
执行后的结果为
123+234
二、位置变量
- 定义:当一条命令或者脚本执行的时候,后面可以跟一些参数,这些参数称为位置变量
- 类型:
位置变量类型 含义 $n n为数字,$n表示脚本本身,$1~$9表示第1~9个参数,第10个及以上的参数需要用大括号{},如${10} $@ 命令行所有参数,每个参数区别对待 $* 命令行所有参数,每个参数作为一个整体对待 $# 参数个数 举例:variable.sh脚本如下
#!/bin/bash # echo "var1 = $1" echo "var2 = $2" echo "var3 = $3" echo "var4 = $4" echo "var5 = $5" echo "var6 = $6" echo "var7 = $7" echo "var8 = $8" echo "var9 = $9" echo "var10 = ${10}" echo $@ echo $* echo $#
执行sh.variable 1 2 3 4 5 6 7 8 9 10,结果为
var1 = 1 var2 = 2 var3 = 3 var4 = 4 var5 = 5 var6 = 6 var7 = 7 var8 = 8 var9 = 9 var10 = 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 10
三、环境变量
- 含义:linux是一个多租户系统,针对不同用户有专有的运行环境;不同用户的专有环境就是一套默认环境变量的组合
- 分类:
对所有用户生效的环境变量 /etc/profile 对特定用户生效的环境变量 ~/.bashrc 或者 ~/.bash_profile 临时环境变量 命令或脚本中使用export命令 - 常见环境变量
环境变量 含义 PATH 命令搜索的路径 HOME 用户家目录的路径 LOGNAME 用户登录名 PWD 当前所在路径 HISTFILE 历史命令的保存文件 HISTSIZE 历史命令保存的最大行数 HOSTNAME 主机名 SHELL 用户当前使用的SHELL TMOUT 用户和系统交互过程的超时值 PS1 一级命令提示符 IFS 系统输入分隔符 OFS 系统输出分隔符