Shell的变量
系统变量
1、查看前Shell中所有变量
[zhsj@cdh3 ~]$ set
2、查看系统变量的值
[zhsj@cdh3 ~]$ echo $HOME
/home/zhsj
[zhsj@cdh3 ~]$
自定义变量
语法
(1)定义变量:变量=值
(2)撤销变量:unset 变量
(3)声明静态变量:readonly变量,注意:不能unset
(4)把变量提升为全局环境变量,可供其他Shell程序:export 变量名
变量定义规则
(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写
(2)等号两侧不能有空格
(3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算
(4)变量的值如果有空格,需要使用双引号或单引号括起来
特殊变量
$n
n为数字,$0代表该脚本名称,$1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10}
$#
获取所有输入参数个数,常用于循环
$*
命令行中所有的参数,$*把所有的参数看成一个整体
$@
命令行中所有的参数,把每个参数区分对待
$?
最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0,则证明上一个命令执行不正确了
$$
脚本运行的当前进程ID号
$!
后台运行的最后一个进程的ID号