Linux Shell循环结构

Linux Shell循环结构fi}&donewaitecho“MissionCompleted.”*for循环语句实现文件中批量用户创建“`shell[root@hdp-1shell]#catusers_from_file.shIFS=$’\n’forlinein`cat$1`doif[${#line}-eq0];thencontinuefiuser=`echo”$line”|awk'{print$1}’`pass=`echo”$line”|a

大家好,又见面了,我是你们的朋友全栈君。

3 循环结构

  • Shell语言支持四种循环语句:for、while、until、select
  • 工作中常用的是 for、while、until

for循环语法结构

  • for循环主要用于确定次数的循环
  • 第一种for循环的语法结构如下所示:
for 变量名 in 取值列表
do
	循环体
done
  • for循环语句实现批量主机ping探测
[root@hdp-1 shell]# cat for_ping.sh 
#!/bin/bash
for name in baidu 163 hao123
do
	{ 
   
	host=www.$name.com
	ping -c1 -w1 $host &> /dev/null
	if [ $? -eq 0 ];then
		echo "$host" | tee -a host.txt
	fi
	}&
done
wait
echo "Mission Completed."
  • for循环语句实现文件中批量用户创建
[root@hdp-1 shell]# cat users_from_file.sh 
IFS=$'\n'
for line in `cat $1`
do
if [ ${ 
   #line} -eq 0 ];then
continue
fi
user=`echo "$line" | awk '{print $1}'`
pass=`echo "$line" | awk '{print $2}'`
id $user &>/dev/nuil
if [ $? -eq 0 ] ;then
echo "user $user already exists"
else
useradd $user
echo "$pass" | passwd --stdin $user &> /dev/null
if [ $? -eq 0 ];then
echo "$user created"
fi
fi
done

while循环语句语法结构

  • while循环语句的基本语法为:
while 条件测试
do
    循环体
done
  • while循环语句会对条件测试进行判断,如果条件测试成立时,则执行do和done之间的循环体,直到条件测试不成立才停止循环。
  • while循环语句实现批量用户创建
[root@hdp-1 shell]# cat while_user.sh 
#!/bin/bash

while read line
do
	if [ ${ 
   #line} -eq 0 ];then
		echo "NULL"
		continue
	fi
	user=`echo $line | awk '{print $1}'`
	pass=`echo $line | awk '{print $2}'`
	id $user &>/dev/null
	if [ $? -eq 0 ];then
		echo "user $user already exists."
	else
		useradd $user
		echo "$pass"| passwd --stdin $user &>/dev/null
		if [ $? -eq 0 ] ;then
			echo "$user created ."
		fi
	fi
done < $1

until循环语句语法结构

  • until循环语句基本语法为:
until 条件测试
do
	循环体
done
  • until循环语句是在条件表达式不成立时,进入循环体执行指令,条件表达式成立时,终止循环。until的应用场景很罕见。
  • until循环语句测试远程主机可达性
[root@hdp-1 shell]# cat until_ping.sh 
#!/bin/bash

host=www.baidu.com
until ping -c1 -w1 $host &>/dev/null
do
	sleep 1
done
echo "$host up. "

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163962.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mongodb介绍

    mongodb介绍mongodb介绍

    2022年4月24日
    47
  • 等价类划分法-案例剖析-设计测试用例「建议收藏」

    等价类划分法-案例剖析-设计测试用例「建议收藏」目录等价类划分法概念有效等价类和无效等价类等价类设计测试用例步骤案例1案例2案例3等价类划分法概念等价类划分法是把所有可能的输入数据,即程序的输入数据集合划分成若干个子集即等价类,然后从每个等价类中选取少量具有代表性的数据作为测试用例。有效等价类和无效等价类有效等价类:只完全满足产品规则说明的输入数据,即有效的、有意义的输入数据的集合。利用有效等价类可以检验程序是否满足规则说明所规定的功能性要求。无效等价类:不满足程序输入要求或者无效的…

    2022年10月10日
    0
  • 蓝天准系统P750的介绍与开箱

    蓝天准系统P750的介绍与开箱准系统笔记本:准系统笔记本是指使用由工厂(即ODM厂商)采购的标准化笔记本模具,再通过商家或懂技术的玩家安装相兼容的配件(如CPU,显卡,内存,硬盘,光驱,无线网卡,屏幕等)组成的完整笔记本产品。和INTEL于2004年提出的CBB计划有一定相似。2008年的金融危机,使得部分工厂如蓝天、微星向零售商出售模具,准系统笔记本在中国逐渐普及开来。台式DIY装机的人不少,组装笔电的人则不多。对于一个…

    2022年6月14日
    92
  • 在智联上投了一个月的简历,很多都有意向,但是却没有通知我去

    在智联上投了一个月的简历,很多都有意向,但是却没有通知我去

    2022年2月13日
    217
  • 读取与修改其他程序的数据Read/WriteProcessMemory[通俗易懂]

    读取与修改其他程序的数据Read/WriteProcessMemory[通俗易懂]要修改或读取其他进程的数据,首先要知道几个知识:一、1.windows系统为每个程序分配4GB的虚拟内存,虚拟内存由“页文件”实现。     2.每个程序的4GB空间的前2GB是程序的私有空间,后2GB是系统的空间。     3.每个页文件4KB。     4.在程序私有的2GB中,windows98系列的系统的程序的可用地址为4MB–2GB

    2022年9月13日
    0
  • 波束形成的一点思考[通俗易懂]

    波束形成的一点思考[通俗易懂]1)波束形成,就是空域滤波。N个阵元,在某一时刻使用FPGA同时采样,得到同一时刻的各个通道的一个采样,就如同拍照一样,同一时刻的各个通道数据得到。  波束形成,则是空域滤波,与时域滤波相比较,是时间域序列,进行滤波,滤波系数h(n),采样序列不断输入与滤波系数卷积计算,得到响应输出;  而波束形成,则是针对某一时刻,不同阵元,通过一个空域滤波系数,得到多少个波束输出;空域滤波系数,一

    2022年6月23日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号