shell中三种语句

发布时间 2023-12-08 23:05:43作者: q_7

1:if语句

2:for语句

for语句就是循环语句,要指定一个列表或者变量,就是有具体的循环的次数,可以使用for语句

介绍:

 使用for循环语句时,需要指定一个变量及取值列表,针对每个不同的取值重复执行相同的命令序列,直到变量值用完退出循环。然后在这里取值列表也被称为for语句的执行条件。
for循环是固定循环,也就是在循环的一开始就已经知道需要进行几次循环,有时候也把for循环称之为计数循环。

for循环的次数取决于in后面的个数(以空格分隔),有几个值就循环几次,并且每次循环都把值赋予变量。也就是说,加假设in后面有三个值,for就循环三次。第一个的循环会把值“1”赋予变量,第二次的循环会把值“2”赋予变量,以此类推。
do…done之间的命令被称为循环体,其中的执行语句需要需要引用变量来完成相应的任务操作。

  

格式就是

for i in 变量或者列表
do
    执行的代码
done

 

c语言的格式

for  ((初始值;限制值;执行步长))
do
    执行体
done
适合于数值方式的运算
初始值:就是循环的起始值
限制值:就是这个变量的值限制在这个方位内
执行的步长:每做一次循环时,变量的变化量

 

for循环的题目

1:从1加到100的和

num=0
for ((i=1;i<=100;i++))
do
        num=$(($num+$i))
done
echo "$num"

 

2:输出1到100之间的奇数和偶数

#/bin/bash
#奇数
for ((i=1;i<=100;i+=2))
do
        echo "$i" >> /mnt/num.txt
done

#偶数
for ((i=0;i<=100;i+=2))
do
        echo "$i" >> /mnt/num.txt
done

 

3:提示用户输入一个小于100的数,并且从1开始到这个数求和

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

 

4:打印99乘法表

#/bin/bash
for i in `seq 9`
do
        for j in `seq $i`
        do
                echo -e -n "$i*$j=$(($j*$i))\t" 
        done
echo
done

 

5:测试主机是否在线

for i in 192.168.10.{2..3}
do
        ping -c2 -w2 $i &> /dev/null
done
~    

 

-c就是发送包

-w就是超时等待2秒

 

6:输出/dev/目录下所有可执行文件或目录

a=$(ls /dev)
for i in $a
do
        b=`ls  -l /dev/$i | awk '{print $1}'|grep 'x'`
        case $? in
        (0)
                echo "/dev/$i"
                ;;
        esac
done

 

7:添加一个文本里面的用户

b=`cat user.txt`
for i in $b
do
        #先要判断是否存在用户名
        id $i &> /dev/null
        if [ $? -eq 0 ];then
                echo "用户已经存在"
        else
                useradd $i
                echo "redhat" | passwd --stdin $i &> /dev/null
                if [ $? -eq 0 ];then
                        echo "$i is created"
                fi
        fi
done

 

关于for语句的总结  

关于使用for语句来完成一些计算的语句,就是要弄明白这个计数的总值在那里

就是以空格作为分隔符,遇到空格就执行语句,就是接收一个列表或者一个指定的范围内的值,如果不好接受的话,可以使用cat等命令或者一些其他的命令来查看赋值