目录
shell脚本介绍
shell是用户使用Linux的桥梁,既是应用程序,也是一种脚本语言。可以使用逻辑判断、循环等语法; 可自定义函数; shell是系统命令的集合;用户直接输入命令来执行各种各样的任务。
文件测试
-e 是否存在 -d 是目录 -f 是文件
-r 可读 -w 可写 -x 可执行
-L 符号连接 -c 是否字符设备 -b 是否块设备 -s 文件非空
返回0表示条件成立,返回1表示条件不成立,&&是逻辑与,“而且”的意思
整数值比较
-eq 数值相等 -ne 数值不相等 -gt 数1大于数2
-ge 数1大于等于数2 -le 数1小于等于数2 -lt 数1小于数2
用户数是否>1,用户数是否>=2,空闲内存是否<1024MB
字符串比较
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。
测试当前语言环境,测试读入的字符串是否为yes
单分支if语句
判断挂载点目录,若不存在则自动创建
双分支if语句
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if[ $? -eq 0 ]
then
echo "Host $1 is up."
else
echo "Host $1 is down.
if
判断目标主机是否存活,显示检测结果
多分支语句
判断分数范围,分出优秀、合格、不合格三档
补充一,判断语句
If 判断语句1; then
command
elif 判断语句2; then
command
else
command
fi
判断数值除了用(())的形式外,还可以使用[],但是不能使用<,>,=这样的符号,要使用-lt(小于)、-gt(大于)、-le(小于或等于)、-ge(大于或等于)、-eq(等于)、-ne(不等于)。
补充二,for循环的基本结构
for 变量名 in 循环的条件;
do
command
done
循环的条件可以是一组字符串或者数字(用一个或者多个空格隔开),也可以是一条命令的执行结果。
总结
通过本次实验我们明白了 shell脚本就是将一些shell语法与指令写在一个文件里,不需要编译,只要加上可执行权限就可以在shell解释器环境下执行。shell脚本可以实现自动化运维,能大大增加我们的运维效率。shell脚本的好处是能够在设定的时间执行指定的任务。这些任务可以是文件分类、向文本插入内容、迁移文件、删除文件等。对于一些循环或耗资源的任务,通过shell脚本就能够得到更好的解决。