[toc]
shell变量综述
1.shell变量分类
- 
环境变量(全局变量) 可以在当前shell及子shell中使用
 - 
本地变量(局部变量) 只能在子shell中使用
 
2.shell查看变量
- 
set 输出所有的变量,包括环境变量和本地变量
 - 
env 只显示全局变量
 - 
declare 输出所有的变量、函数、整数和已经导出的变量
 
3.设置环境变量
3.1 设置临时性环境变量
- 
export 变量名=value
 - 
变量名=value;export 变量名
 - 
declare -x 变量名=value
 
3.2 设置永久性环境变量
写入/etc/profile中	然后使用source命令生效
3.3 取消变量
- unset 变量名
 
4.环境变量生效顺序
/etc/profile ~/.bashrc_profile ~/.bashrc /etc/bashrc
5.shell特殊位置环境变量
| 变量 | 含义 | 
|---|---|
| $0 | 脚本名称 | 
| $n | 位置变量,n代表数字,超过10要用括起来 | 
| $# | 参数个数 | 
| $*、$@ | 列出参数 | 
| $? | 上一个命令的执行结果返回值 | 
| $() | 表示先执行里边的内容 | 
| $ | "金庸新著" 和 "金庸新"著 用于区分变量 | 
| $! | 获取上一个脚本的PID | 
| $_ | 获取上一个脚本的最后一个参数 | 
| $- | 显示shell使用的当前选项,与set命令功能相同 |