0
点赞
收藏
分享

微信扫一扫

shell脚本练习题

witmy 2022-04-25 阅读 97
linux

1.计算从1到100所有整数的和


#!/bin/bash
a=0
for i in {1..100}
do
    a=$[$a + $i]
done
    echo


2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和

#!/bin/bash
read -p "请输入数值,后帮你就是1到输入数的和:" a

i=0
  for ((f=0;f<=a;f++))
  do
    i=$[i+f]
    done
echo "100以内的和" $i

3.求从1到100所有整数的偶数和、奇数和

#!/bin/bash

i=0
y=0
for ((f=1;f<=100;f+=2))
do
    i=$[i+f]
done
echo "100以内的奇和" $i

for ((x=0;x<=100;x+=2))
do
    y=$[y+x]
done
    echo "偶数和" $y

4.用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,输出提示该用户已存在;若该用户不存在,提示用户输入密码,建立用户并设立其密码

read -p "请输入你要查询的用户:" ming
  for y in $(cat /root/users.txt)
do
  useradd $y &> /dev/null
  echo "123456" | passwd --stdin $y &> /dev/null
done
 id -u $ming &> /dev/null
if [ $? -eq 0 ]
then
echo "当前用户以存在"
else
read -p  "当前用户不存在请输入密码创建用户 :" mi
useradd $ming &> /dev/null
echo $mi | passwd --stdin $ming


5.检测指定范围主机是否通信,并将通信的主机ip输出到文件host_ip中


#!/bin/bash

read -p“请输入起始IP: " a
read -p“请输入结束IP: " b
ao=0
for ( (i=$a;i<=$b;i++))
do
ao=$( expr $ao +1)
c=192.168.10.$i
    if [ $i - gt 1 ] && [ $i - lt 255 ]
    then
    ping -c3 -i 0.5 -w 2 $c &> /dev/null
      if [ $?= 0 ]
          then
             echo "$c:正在通信中" > /shell/host_ip
          else
             echo "$c:不在通信中"
        fi
         else
         echo "$i输入错误"
       fi
done

if [ $ao = 0 ]
then
echo "输入有误"
fi


6.用户输入密码,脚本判断密码是否正确,正确密码为123456,输入正确提示正确信息,连续输错3次则报警


#!/bin/bash

chi=2
mm="123456"
dnang=0
while true
do
dnang=$((dnang+1))
read -p "请输入密码" ss
if [ $ss == $mm ]
then
echo "密码正确"
exit
elif [ $dnang -le $chi ]
then

echo "密码错误"
continue
else
echo "你以连续$dnang次错误"
exit
fi
done


7.编写能够自动生成一个6位随机密码的脚本


#!/bin/ bash

x="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
pass=' '
for i in {1..8}
do

n=$[ RANDOM % 62 ]

y=${x:$n : 1}

pass=${pass}$y

done
echo $pass


8.使用循环语句将一个 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

举报

相关推荐

0 条评论