for循环的简单运用(6个例子)—0到100求和,列出奇偶,奇偶求和,检测范围主机通信,输出/dev目录中的所有可执行文件

for循环的简单运用(6个例子)

    • 1.计算从1到100所有整数的和
    • 2.过滤出从1到100所有整数的奇偶数
    • 3.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和
    • 4.求从1到100所有整数的偶数和、奇数和
    • 5.检测指定范围主机是否通信,并将通信的主机ip输出到文件host_ip中
    • 6.输出/dev目录中的所有可执行文件
    • 7.执行脚本输入用户名,若该用户存在,输出提示该用户已存在;若该用户不存在,提示用户输入密码,建立用户并设立其密码

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

#!/bin/bash
#1-100求和
a=0
for ((i=1; i<=100; i++))
do
  a=$(($a+$i))
done
echo $a

2.过滤出从1到100所有整数的奇偶数

for  ((i=1; i<=100; i++))
do
let a=$i%2
if [ $a = 0 ]
  then
    echo -e -n "偶数 $i\t"
else
    echo "奇数 $i"
fi
done

for循环的简单运用(6个例子)—0到100求和,列出奇偶,奇偶求和,检测范围主机通信,输出/dev目录中的所有可执行文件_第1张图片

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

#!/bin/bash
#输入小于100的数到1的和
read -p "请输入小于100的整数" num
a=0
for ((i=1; i<=$num; i++))
 do
   a=$(($a+$i))
done
echo $a

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

#!/bin/bash
#求从1到100所有整数的偶数和、奇数和
b=0
c=0
for ((i=1; i<=100; i++))
do
let a=$i%2
if [ $a = 0 ]
   then
      let c=$i+$c
elif [ $a = 1 ]
    then
      let b=$i+$b
fi
done
echo "$c 为1到100偶数的和"
echo "$b 为1到100奇数的和"

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

#!/bin/bash
#ping范围主机
for i in 172.16.100.{
     1..20}
do
 ping -c 3 -i 0.5 -W 2 $i
if [ $? = 0 ]
  then
    echo $i >> host_ip
else
 echo "$i offline"
fi
done

6.输出/dev目录中的所有可执行文件

#!/bin/bash
#-r-f for /dev/
for i in /dev/* 
do
if [ -f $i  ]
   then
    echo "$i 文件存在"
 if [ -x $i ]
   then
    echo "$i 有执行权限"
 else
    echo "$i 没有执行权限"
 fi
else
   echo "$i 不是文件"
fi
done

7.执行脚本输入用户名,若该用户存在,输出提示该用户已存在;若该用户不存在,提示用户输入密码,建立用户并设立其密码

#!/bin/bash
#useradd 
read -p "输入用户名" user
useradd $user
if [ $? = 9 ]
   then
     echo "$user 已存在"
else
read -p "输入密码" a
     echo "$a" | passwd --stdin $user
fi          

你可能感兴趣的:(shell,linux)