知识回顾:
创建shell脚本规则:
1. 调用解释器执行
# sh first.sh
文件不需要执行权限
2.当做命令去执行
#chmod +x first.sh
# ./first.sh //相对路径或绝对路径
执行脚本:
变量
测试
运算
if : 单分之 双分之 多分之
实例: 剪刀石头布 **检测主机是否存货! 判断成绩
循环: for while case(分之编程)
学习shell注意:
shell是一门只针对于linux的脚本语言
知识放空
重点是学习语法结构
for循环:
语法结构:
1. for 变量名 in 列表值
do
执行命令
done
2. for 变量名 in `ls/root`或者$(命令)
do
执行命令
done
3. for 变量名 in {1..5}
do
执行命令
done
4. for 变量名 in `seq 5`
do
执行命令
done
实例:批量检测主机的存活状态:
知识点:
ping 命令:
-c 可以设置ping的次数
-i 设置ping之间的时间间隔(单位秒)
-w 设置ping不同的超时时间
网段:49.233.65.0/24
for循环:
语法结构:
1. for 变量名 in 列表值
do
执行命令
done
2. for 变量名 in `ls/root`或者$(命令)
do
执行命令
done
3. for 变量名 in {1..5}
do
执行命令
done
4. for 变量名 in `seq 5`
do
执行命令
done
实例:批量检测主机的存活状态:
知识点:
ping 命令:
-c 可以设置ping的次数
-i 设置ping之间的时间间隔(单位秒)
-w 设置ping不同的超时时间
网段:49.233.65.0/24
#vim checkhosts.sh
#!/bin/bash
for i in {1…254}
do
host=49.233.65.
i
p
i
n
g
−
c
3
−
i
0.2
−
w
149.233.65.
i ping -c 3 -i 0.2 -w 1 49.233.65.
iping−c3−i0.2−w149.233.65.i > /dev/null
if [ $? -eq 0 1 ] ; then
echo “host $host is up”
else
echo “host $host is down”
fi
down
运算符:
expr 整数运算
bc 支持小数
$ ((算数表达式))
a=10
b=2
c=$ (( $a + $b ))
let :
运算不能空格
如果非要有空格,用双引号引起来
# let i=i+5
# echo $i
5
i++ -->i=i+1 --> i+=1
i-- 同上
#!/bin/bash
i= 1
let i ++
echo
i
l
e
t
+
+
i
a
=
‘
e
x
p
r
5
+
i let ++ i a=`expr 5+
ilet++ia=‘expr5+i`
echo $i
++i
运算顺序不一样
随机抽查姓名的脚本:
执行脚本后,输出随机的一个姓名,姓名在一个文档中存储
name.txt
1 . 数组
a=(`cat /root/name.txt`)
//生成数组
2 . 随机
b = `cat /root/name.txt | wc -l`
//统计多少行
RANDOM%$b 0-69
${a[]}
脚本联系
1 . 用shell打印99乘法表
2 . shell输出20斐波那契数列
3 . shell写出一个判断闰年交互式的脚本,可以判断三次。