shell变量可以保存路径名、文件名、变量名等
本地变量:
变量生命周期为当前shell
variable-name = value 设置实际值到variable-name variable-name + value 重置variable-name变量 variable-name :? value 如果未设置,显示未定义用户错误信息 variable-name ? value 如果未设置,显示系统错误信息 variable-name := value 如果未设置,设置其值 variable-name :- value 同上,但是取值并不设置到variable-name,可以被替换
显示变量
$ echo $varaible-name
清除变量
$ unset variable-name
要测试是否已设置或初始化变量。未设置或初始化,就使用另一值
$ ${variable-name:=value}
环境变量
Brourne shell有些嵌入shell变量,不能做其它用途
CDPATH EXINIT 初始化vi的变量 HOME IFS 用作shell指定的缺省域分隔符 LOGNAME 登录名 PATH 保存命令或脚本查找的目录顺序 PS1 基本提示符包含shell提示符,超级用户为#,一般用户为$ PS2 缺省为符号> SHELL TERMINFO TERM TZ 时区
两种特殊的只读变量:位置变量和特定变量参数
shell特定变量:
$# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个 $$ 脚本运行的当前进程I D号 $! 后台运行的最后一个进程的进程I D号 $@ 与$ #相同,但是使用时加引号,并在引号中返回每个参数$- 显示s h e l l使用的当前选项,与s e t命令功能相同 $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。