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. matlab学习——04图与网络(最短路,最小生成树,最大流)

    04图与网络 1.最短路 (1) 自己写的dijstra算法 format compact; clc,clear all a=zeros(6); a(1,2)=50;a(1,4)=40;a(1,5)= ...

  2. OLE导出EXCEL 问题处理

    需求: 2.资产负债表.利润表导出优化,由于项目公司门店较多,需要增加批量导出功能.按纳税主体维度导出execl文件,输入了几个纳税主体,就生成几个execl文件. 实现: 用程序ZFIR0014XL ...

  3. LeetCode_110. Balanced Binary Tree

    110. Balanced Binary Tree Easy Given a binary tree, determine if it is height-balanced. For this pro ...

  4. dubbo的负载均衡策略和容错策略

    一.dubbo 负载均衡策略 random loadbalance 默认情况下,dubbo 是 random load balance 随机调用实现负载均衡,可以对 provider 不同实例设置不同 ...

  5. RecyclerView的scrollToPosition和smoothScrollToPosition

    关于recyclerview滑向指定位置,肯定会想到scrollToPosition和smoothScrollToPosition两个方法. 源码分析scrollToPosition,最后会调用vie ...

  6. LayUI笔记

    LayUI  经典模块化前端框架,低门槛开箱即用的前端 UI 解决方案.   其他UI框架:     Bootstrap,Element, EasyUI,LayUI 等等 LayUI使用  Layui ...

  7. homestead的创建和使用

    1.下载vistualbox和vagrant并安装 2.安装了git的话就在想设置的目录或者文件夹下用git命令执行vagrant box add laravel/homestead,或者用cmd命令 ...

  8. Vue.js 父子组件相互传递数据

    父传子 : 子组件接收变量名=父组件传递的数据 如::f-cmsg="fmsg"  注意驼峰问题 子传父:@子组件关联的方法名 = 父组件接受的方法名 如:@func=" ...

  9. 串口控制RGB灯程序

    实验目的: 通过上位机给串口发送数据(字符); STM32收到数据进入中断程序原封不动返回上位机,并且根据收到的信息产出相应的进行操作.(1- led_on  2 – ledoff...); 源码   ...

  10. gin PostForm 方法不起作用

    情景: 在httpie post 下,在 axios post下,总的来说,就是在form-data下只有c.Bind()会有用 如果一定要用c.PostForm() headers必须为x-www- ...