- shell script
将OS命令堆积到可执行的文件里,由上至下的顺序执行文本里的OS命令,就是脚本,再加上智能(条件/流控)控制,就是智能化脚本。 - 变量
(1)变量就是程序运行中的一些变化的量,比如表示状态的量。
(2)变量命名规则:以字母或下划线开头,剩下的可以是字母、数字、下划线。
最好遵循下述规则:
以字母开头
使用中划线或者下划线做单词的连接
同类型的用数字区分
对于文件最好加上拓展名
(3)系统变量
set :显示所有变量
env :环境变量
(4)变量赋值
变量名=变量值
输出变量值:echo $变量名
删除变量:unset 变量名 - 运算符
(1) + 加法 - 减法 * 乘法 / 除法 % 取余
(2) 关系操作
与(())连用,比较大小
小于 < 大于 > 小于等于 <= 大于等于 >=
等于 == 不等于 != 和 && 或 ||
(3)赋值运算
=
+= x+=3 # x=x+3
*= x*=3 # x=x*3
/= x/=3 # x=x/3
%= x%=3 # x=x%3
(4)shell里的计算器
$[] (())
echo ‘scale=2;1/3’| bc -l 计算1/3,保留两位小数,结果为“.33”
(5)测试操作
命令执行后会返回到一个系统变量$?中,
如果$?值为0,则表示执行成功,非0则表示执行失败。
测试命令:test [] [[]] (())
a. 测试文件状态
-d 目录
-s 文件长度>0,非空
-w 可写
-r 可读
-x 可执行
-f 普通文件
-d 目录
-L (同-h) 符号链接文件
-u 文件有suid位设置
b. 字符串测试
= 两个字符串相等
!= 两个字符串不相等
-z 空串
-n 非空串
c. 数值测试
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于
d. 拓展测试符号[[]] (())
比较数字,使用(( ))
其他测试使用 [[ ]]
包含数字比较的混合测试,使用[[ expr1 && expr2 ]] (( expr1 || expr2 )) - 流程控制
(1) if语句
If [ ];then
动作
elif [ ];then
动作
elif [ ];then
动作
else
动作
fi
(2) while循环
while : / while (条件)
do
动作
done
(3) for循环
C语言的for格式:
for ((i=1;i<=10;1++))
do
echo $i
done
shell格式的for格式:
for i in {1..10}
do
echo $i
done
(4) 特殊语句
continue 结束本次循环
break 结束本层循环