实验五
实验要求:检测指定范围主机是否通信,并将通信的主机ip输出到文件host_ip中。
创建脚本:
[root@localhost ~]# vim zhuji.sh #!/bin/bash #检测指定范围主机是否通信,并将通信的主机ip输出到文件host_ip中。 for i in {10..15} do ping -c 3 -i 0.5 -w 2 192.168.72.$i &>/dev/null if [ $? -eq 0 ] then echo "192.168.72.$i 能通信" echo "192.169.72.$i" >> /data/host_ip else echo "192.168.72.$i 不能通信" fi done 复制代码
网络异常,图片无法展示
|
执行脚本:
[root@localhost ~]# bash zhuji.sh 192.168.72.10 能够通信 192.168.72.11 不能通信 192.168.72.12 不能通信 192.168.72.13 不能通信 192.168.72.14 不能通信 192.168.72.15 不能通信 [root@localhost ~]# cat /data/host_ip 192.169.72.10 复制代码
网络异常,图片无法展示
|
实验六
实验要求:用户输入密码,脚本判断密码是否正确,正确密码为123456,输入正确提示正确信息,连续输错3次则报警。
创建脚本:
[root@localhost ~]# vim mima1.sh #/bin/bash #用户输入密码,脚本判断密码是否正确,正确密码为123456; #输入正确提示正确信息,连续输错3次则报警。 for i in {1..3} do read -p "请输入密码:" key if [ "$key" = "123456" ] then echo "密码正确" exit 0 else echo "密码错误!" fi done echo "警告!您已连续3次输错密码,账号即将锁定......" 复制代码
网络异常,图片无法展示
|
执行脚本:
[root@localhost ~]# bash mima1.sh 请输入密码:123456 密码正确 [root@localhost ~]# bash mima1.sh 请输入密码:111 密码错误! 请输入密码:222 密码错误! 请输入密码:333 密码错误! 警告!您已连续3次输错密码,账号即将锁定...... [root@localhost ~]# bash mima1.sh 请输入密码:123 密码错误! 请输入密码:123456 密码正确 复制代码
网络异常,图片无法展示
|
实验七
实验要求:编写能够自动生成一个8位随机密码的脚本。
创建脚本:
[root@yuji ~]# vim passran.sh #!/bin/bash # 要求生成8位随机密码,密码范围为26个英文字母和10个阿拉伯数字。 # --------------------- #定义密码取值范围 string="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #循环8次 for i in {1..8} do #每次循环随机获取0到字符串长度减1的下标值 num=$[RANDOM % ${#string}] #进行字符串截取,每次随机取出1个字符 var=${string:$num:1} #每次追加生成的密码,passwd+=$var等同于passwd=$passwd$var passwd+=$var done echo "本次生成的密码为:$passwd" 复制代码
网络异常,图片无法展示
|
执行脚本:
[root@yuji ~]# bash passran.sh 本次生成的密码为:vZwWIwXj [root@yuji ~]# bash passran.sh 本次生成的密码为:rySmwaTk [root@yuji ~]# bash passran.sh 本次生成的密码为:lJTcsbV4 复制代码
网络异常,图片无法展示
|
实验八
实验要求:使用循环语句将一个 0到255 之间的十进制数转换成二进制数。
1)方法一:使用除法,倒取余数。
创建脚本:
[root@localhost ~]# vim shuzhi1.sh #!/bin/bash #使用循环语句将一个0到255之间的十进制数转换成二进制数 read -p "请输入一个整数(0-255):" num for i in {1..8} do #除以2取余数 var=$[num%2] #余数倒序排列 sum=$var$sum num=$[num/2] done echo "转换成二进制数是:$sum" 复制代码
网络异常,图片无法展示
|
执行脚本:
[root@localhost ~]# bash shuzhi1.sh 请输入一个整数(0-255):35 转换成二进制数是:00100011 [root@localhost ~]# bash shuzhi1.sh 请输入一个整数(0-255):166 转换成二进制数是:10100110 [root@localhost ~]# bash shuzhi1.sh 请输入一个整数(0-255):255 转换成二进制数是:11111111 复制代码
网络异常,图片无法展示
|
2)方法二:使用减法。
创建脚本:
[root@localhost ~]# vim shuzhi2.sh #!/bin/bash #使用循环语句将一个0到255之间的十进制数转换成二进制数 #使用减法:十进制数减2的7次方(即128),若不够减则记为0,原数继续减2的6次方(64); #若够减则记为1,减法运算后剩余值继续减2的6次方。以此类推,一直减到2的0次方。 #之后将每次运算的标记值按正序排列起来即为结果。 read -p "请输入一个整数(0-255):" num for i in {128,64,32,16,8,4,2,1} do a=$[num -i] if [ $a -lt 0 ] then echo -n 0 else echo -n 1 num=$[num-i] fi done echo "" 复制代码
网络异常,图片无法展示
|
执行脚本:
[root@localhost ~]# bash shuzhi2.sh 请输入一个整数(0-255):18 00010010 [root@localhost ~]# bash shuzhi2.sh 请输入一个整数(0-255):77 01001101 [root@localhost ~]# bash shuzhi2.sh 请输入一个整数(0-255):189 10111101 复制代码
网络异常,图片无法展示
|