for循环:固定有限次数循环,工作中for使用最多。

语法1:

for 变量名 in 变量取值列表

do

指令…

done

学习方法:记住下面的内容

for 男人 in 世界

do

if [ 有房 ] && [ 有车 ] && [ 有钱 ] && [ 有权 ] && [ … ];then

echo “我喜欢”

else

rm –f 男人

done

下面列举几个for循环语句例子:

直接列出变量列表所有元素,打印1、2、3、4、5

[root@bqh-118 scripts]# vim for.sh
#!/bin/sh
for n in 1 2 3 4 5
do
echo $n
done

语法2:

for ((初始值;循环控制条件;变量变化))

do

指令

done

在语法二中需要注意以下几点:

①初始值:在循环开始时,需要给某个变量赋予初始值,如 i=1。

②循环控制条件:用于指定变量循环的次数,如 i<=100,则只要 i 的值小于等于 100,循环就会继续。

③变量变化:每次循环之后,变量该如何变化,如 i=i+1,代表每次循环之后,变量的值都加 1。

语法二和其他语言中的 for 循环类似,也就是事先决定循环次数的固定循环。先举一个简单的例子。

从1加到100总和:

[root@bqh-118 scripts]# vim for.sh
#!/bin/sh
#no.1
echo "-----------------------------"
for n in `seq 100`
do
((sum+=n))
done
echo "1...100总和为:" $sum echo "=============================="
#no.2
for ((i=1;i<=100;i++))
do
((sum1+=i))
done
echo "1...100总和为:" $sum echo "=============================="
#no.3
echo "1...100总和为:" $((100*(100+1)/2))
echo "-------------------------------"

下面我们来一个实战例子:

扫描192.168.43.110---120 /24网络里,当前在线用户的ip有哪些:

[root@bqh-118 scripts]# vim scan.sh

#!/bin/sh
# ******************************************************
# Author : aゞ锦衣卫
# Last modified: 2019-05-14 23:37
# Email : 1147076062@qq.com
# blog : https://www.cnblogs.com/su-root
# Filename : scan.sh
# Description : Scanning online IP
# ******************************************************
read -p "请输入您要扫描的IP网段:" IP
echo "正在扫描..."
sleep 1
for i in {110..120}
do
if ping -c 1 -W 1 $IP.$i &>/dev/null;then #-c ping 2次;-W 超时2s
echo -e "\033[32m $IP.$i\033[0m is up"
else
echo -e "\033[31m $IP.$i\033[0m is down"
fi
done
echo "扫描完毕!"

ok!

shell for 循环简单用法的更多相关文章

  1. shell expect的简单用法【转】

    用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下:  ######## ...

  2. awk-for循环简单用法

    文本: [root@VM_0_84_centos ~]# cat sshd.txt 1 2 3 4 5 6 7 8 9 循环打印上述文本 for 循环的固定格式   i=1设置i的初始变量  i< ...

  3. shell的一些简单用法

    一 BASH的属性 BASH中会存储一些自身属性的参数,启用或关闭某一项功能 例如控制* .字符是否为通配 查看参数 set -o 关闭noglob参数 set -o noglob ls * ls: ...

  4. Shell while循环详解

    while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环. Shell while 循环的用法如下: while  ...

  5. Linux Shell系列教程之(十)Shell for循环

    本文是Linux Shell系列教程的第(十)篇,更多Linux Shell教程请看:Linux Shell系列教程 基本任何语言都有自己的循环语句,Shell当然也不例外,今天就为大家介绍下Shel ...

  6. centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课

    centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和$ ...

  7. Linux shell ${}简单用法

    转自:Linux shell ${}简单用法 为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能:假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.t ...

  8. shell for循环+case的脚本(监控程序状态)

    分享一个shell for循环+case的脚本(监控程序状态) 分享一个for循环+case的脚本(监控程序状态并执行相关操作) ,供大家学习参考. 复制代码代码如下: #/bin/bash set ...

  9. Knockout简单用法

    Knockout简单用法 在最近做的一个项目中,页面数据全部通过js ajax调用webapi接口获取,也就是说页面的数据全部使用javascript脚本填充,这就想到了使用一个MVVM模式的js框架 ...

随机推荐

  1. CDS视图篇 1

    CDS视图概览 CDS是Core Data Services的简称,是HANA数据库向上层ABAP应用层提供数据的一种高效的方式,CDS模型是基于数据库data definition language ...

  2. 【Leetcode_easy】680. Valid Palindrome II

    problem 680. Valid Palindrome II solution: 不理解判断函数中的节点的问题... class Solution { public: bool validPali ...

  3. iOS-系统bool理解

    typedef signed char BOOL; #if !defined(YES)    #define YES (BOOL)1 #endif #if !defined(NO)    #defin ...

  4. abp(net core)+easyui+efcore

    abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六)   abp(net core)+easyui+efcore实现仓储管理系统目录 abp(ne ...

  5. win7下exe文件设置为开机启动

    如何将自己的exe程序设置为开机自启动 如何将自己的exe程序设置为开机自启动 将自己的exe程序设置为开机自启动话不多说,直接看 首先1:cmd—>regedit 其次找到下面的路径就可以:( ...

  6. linux下使用Vsftpd服务传输文件

    FTP协议占用两个端口号: 21端口:命令控制,用于接收客户端执行的FTP命令. 20端口:数据传输,用于上传,下载文件数据. 过程: 首先安装vsftpd服务程序使用命令 yum install v ...

  7. linux环境启动rocketmq服务 报connect to <10.4.86.6:10909> failed异常

    解决方式: 需要给Producer和Consumer的DefaultMQPushConsumer对象set这个参数,生产者和消费者都需要,否则不能正常消费消息: 这个问题解决后可能还会出现: conn ...

  8. JavaSE基础(一)--初识Java

    Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式 ...

  9. Java面试 - 什么是单例设计模式,为什么要使用单例设计模式,如何实现单例设计模式(饿汉式和懒汉式)?

    什么是单例设计模式? 单例设计模式就是一种控制实例化对象个数的设计模式. 为什么要使用单例设计模式? 使用单例设计模式可以节省内存空间,提高性能.因为很多情况下,有些类是不需要重复产生对象的. 如果重 ...

  10. sqlite 版本更新维护, 表结构判断, 更新

    sqlite会自动维护一个系统表sqlite_master,该表存储了我们所创建的各个table, view, trigger等等信息. sqlite_master表数据字段: type: 类型,取值 ...