shell——for循环语句

for循环

for ## 定义变量
do ## 使用变量,执行动作

done ## 结束标志

1、列表循环

(1)

#!/bin/bash
for n in `seq 2 2 10`
do	
	echo $n 
done

(3)

for n in 1 2 3 
do            
	echo $n
done

(3)

for n in {10..1..2} ##从10到1步长为2
do            
echo $n
done

2、不带列表循环

for var
do
	echo $var
done
echo "脚本后面有$#个参数"

3、类C语言循环

for ((WESTOS=0;WESTOS<10;WESTOS++))   ##i+=2
do            
echo $WESTOS 
done

4、跳出循环

循环体: do…done之间的内容
continue:继续;表示循环体内下面的代码不执行,重新开始下一次循环
break:打断;马上停止执行本次循环,执行循环体外的代码
exit:表示直接跳出程序

练习 1

计算1-100奇数和

for num in1..100..2sum=0
do 
		let sum=$sum+$num  ##let以数值的方式进行相加
done
echo $sum

练习 2.

判断所输整数是否为质数

num=$*
if [ $num=2 ];then
		echo “是质数”
elif [ $num=3 ];then
		echo “是质数”
else
	for i in {2..num-1}
	do
		if [ $num%$i=0 ];then
			echo “不是质数”
			exit	
		fi
	done
fi
echo "$number是质数" && exit

练习 3.

批量创建用户
需求:批量加5个新用户,以u1到u5命名,并统一加一个新组,组名为class,统一改密码为123,
要求这几个用户的家目录都在/rhome
思路
● 添加用户的命令
● 判断class组是否存在
● 根据题意,判断该脚本循环5次来添加用户
● 给用户设置密码,应该放到循环体里面

#!/bin/bash
echo '1. Create Group'
grep -w class /etc/group &>/dev/null
if [ $? -eq 0 ];then
  echo “group [class] has exist”
else 
	groupadd class
	[ $? -eq 0 ]&& echo “group [class] creat ok” || echo “group [class] creat filed”
fi

echo '2. Create User'
for count in {1..5}
do
	username=”u$count”
	id $username &> /dev/null
	if [ $? -eq 0];then
		echo “user $username exist”
	else
		useradd -G class $username
		usermod -d /rhome $username
		echo $username
		echo 123 | passwd --stdin $username 
done

练习 4.

检测10台与您当前主机直连主机是否网络通常,通则显示主机的ip列表

#!/bin/bash
for i in {1..10}
do	
if ping -c1 192.168.43.$i &> /dev/null	then		
	echo 192.168.43.$I is connection
	sed -i "/192.168.43.$1" /mnt/list	
else		
	echo 192.168.43.$I is timeout	
fi
done
echo "*********ping通ip列表********"
cat /mnt/list
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值