目录
实验一
计算从1到100所有整数的和
#!/bin/bash
i=1
sum=0
for i in {1..100}
do
let sum+=i
let i++
done
echo $sum
实验二
提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和
#!/bin/bash
sum=0
read -p "请输入一个小于100的整数:" i
while [ $i -le 100 ]
do
let sum+=i
let i++
done
echo $sum
实验三
求从1到100所有整数的偶数和、奇数和
#!/bin/bash
even=0
odd=0
for i in {1..100}
do
a=$[ i%2 ]
case $a in
0)
let even+=i
let i++
;;
*)
let odd+=i
let i++
esac
done
echo "偶数和为$even"
echo "奇数和为$odd"
实验四
用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,输出提示该用户已存在;若该用户不存在,提示用户输入密码,建立用户并设立其密码
#!/bin/bash
read -p "请输入用户名:" name
groups $name &> /dev/null
if [ $? -eq 0 ];then
echo "该用户已存在!"
else [ $? -ne 0 ]
read -p "请输入用户密码:" password
useradd $name
echo $password | passwd --stdin $name
fi
实验五
检测指定范围主机是否通信,并将通信的主机ip输出到文件host_ip中
#!/bin/bash
for i in 192.168.88.{87..133}
do
ping -c 2 -i 0.5 -w 1 $i &> /dev/null
if [ $? -eq 0 ]
then
echo "$i is online" >> host_ip
else
echo "$i is offline"
fi
done
实验六
用户输入密码,脚本判断密码是否正确,正确密码为123456,输入正确提示正确信息,连续输错3次则报警
#!/bin/bash
number=3
password=123456
n=0
read -p "请用户输入密码: " mm
if [ $mm -eq $password ];then
echo "输入正确"
elif [ $mm -ne $password ];then
read -p "请用户输入密码: " mm1
if [ $mm1 -eq $password ];then
echo "输入正确"
elif [ $mm1 -ne $password ];then
read -p "请用户输入密码: " mm2
if [ $mm2 -eq $password ];then
echo "输入正确"
elif [ $mm2 -ne $password ];then
echo "报警"
fi
fi
fi
实验七
编写能够自动生成一个6位随机密码的脚本
#!/bin/bash
a="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
passwd=''
n=1
while [ $n -le 6 ]
do
x=$[RANDOM%62]
y=${a:$x:1}
passwd=${passwd}$y
let n++
done
echo "随机生成密码为:$passwd"
实验八
使用循环语句将一个 0到255 之间的十进制数转换成二进制数
#!/bin/bash
read -p "输入0-255之间的整数:" i
if [ $i -ge 0 ] && [ $i -lt 256 ]
then
num=$i
for ((j=1; j<=8; j++))
do
sum=$[ $num % 2 ]$sum
num=$[$num / 2]
done
echo "$sum"
fi