shell变量
1、变量分类:
1、临时变量----程序内定义的
2、永久变量---环境变量
2、用户定义变量:由字母或下划线开头,由字母、下划线和数字组成
使用变量:变量名加上前缀$
变量赋值:=(等于号两边没有空格)
time=`date`
echo $time
total=$(df -h)
echo $total
3、列出所有变量:set
4、变量赋值时单引号和双引号的区别:
单引号之间的内容原封不动赋给变量
双引号取消了空格的作用,特殊符号的含义保留,双引号之间可以用$引用其他变量
5、删除变量:
unset 变量名
位置变量和特殊变量
1、位置变量:
shell解释执行用户的命令时,将命令的第一个字作为命令名,其它字作为参数。由出现在命令行上的位置确定的参数成为位置参数
如何调用??
位置变量用 $n 来表示
./test.sh name1 name2 name3
$0 这个程序的文件名 test.sh
$1 程序的第一个参数 name1
2、特殊变量
$* 这个程序的所有参数
$# 这个程序的参数个数
$$ 这个程序的PID
$! 执行上一个后台程序的PID
$? 执行上一个指令的返回值
read命令
read a b c ----读取键盘输入
echo $a $b $c
expr命令
----对整数型变量进行算数运算
----运算符之间要有空格
expr 3 + 5
----关于加减乘除
+ - \* /
判断符号
1、
-eq 等于
-ge 大于等于
-gt 大于
-le 小于等于
-lt 小于
-ne 不等于
2、变量测试
test int1 -eq int2 相当于 [int1 -eq int2]
3、文件测试
test -d file #是否为目录
test -f file #是否为文件
test -x file #是否可执行
其他: -r -w 可读可写
-e 是否存在
-s 是否为空
简写 [-x file]