shell for 循环简单用法
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 循环简单用法的更多相关文章
- shell expect的简单用法【转】
用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ######## ...
- awk-for循环简单用法
文本: [root@VM_0_84_centos ~]# cat sshd.txt 1 2 3 4 5 6 7 8 9 循环打印上述文本 for 循环的固定格式 i=1设置i的初始变量 i< ...
- shell的一些简单用法
一 BASH的属性 BASH中会存储一些自身属性的参数,启用或关闭某一项功能 例如控制* .字符是否为通配 查看参数 set -o 关闭noglob参数 set -o noglob ls * ls: ...
- Shell while循环详解
while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环. Shell while 循环的用法如下: while ...
- Linux Shell系列教程之(十)Shell for循环
本文是Linux Shell系列教程的第(十)篇,更多Linux Shell教程请看:Linux Shell系列教程 基本任何语言都有自己的循环语句,Shell当然也不例外,今天就为大家介绍下Shel ...
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件.目录属性 shell数组简单用法 $( ) 和$ ...
- Linux shell ${}简单用法
转自:Linux shell ${}简单用法 为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能:假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.t ...
- shell for循环+case的脚本(监控程序状态)
分享一个shell for循环+case的脚本(监控程序状态) 分享一个for循环+case的脚本(监控程序状态并执行相关操作) ,供大家学习参考. 复制代码代码如下: #/bin/bash set ...
- Knockout简单用法
Knockout简单用法 在最近做的一个项目中,页面数据全部通过js ajax调用webapi接口获取,也就是说页面的数据全部使用javascript脚本填充,这就想到了使用一个MVVM模式的js框架 ...
随机推荐
- 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)= ...
- OLE导出EXCEL 问题处理
需求: 2.资产负债表.利润表导出优化,由于项目公司门店较多,需要增加批量导出功能.按纳税主体维度导出execl文件,输入了几个纳税主体,就生成几个execl文件. 实现: 用程序ZFIR0014XL ...
- LeetCode_110. Balanced Binary Tree
110. Balanced Binary Tree Easy Given a binary tree, determine if it is height-balanced. For this pro ...
- dubbo的负载均衡策略和容错策略
一.dubbo 负载均衡策略 random loadbalance 默认情况下,dubbo 是 random load balance 随机调用实现负载均衡,可以对 provider 不同实例设置不同 ...
- RecyclerView的scrollToPosition和smoothScrollToPosition
关于recyclerview滑向指定位置,肯定会想到scrollToPosition和smoothScrollToPosition两个方法. 源码分析scrollToPosition,最后会调用vie ...
- LayUI笔记
LayUI 经典模块化前端框架,低门槛开箱即用的前端 UI 解决方案. 其他UI框架: Bootstrap,Element, EasyUI,LayUI 等等 LayUI使用 Layui ...
- homestead的创建和使用
1.下载vistualbox和vagrant并安装 2.安装了git的话就在想设置的目录或者文件夹下用git命令执行vagrant box add laravel/homestead,或者用cmd命令 ...
- Vue.js 父子组件相互传递数据
父传子 : 子组件接收变量名=父组件传递的数据 如::f-cmsg="fmsg" 注意驼峰问题 子传父:@子组件关联的方法名 = 父组件接受的方法名 如:@func=" ...
- 串口控制RGB灯程序
实验目的: 通过上位机给串口发送数据(字符); STM32收到数据进入中断程序原封不动返回上位机,并且根据收到的信息产出相应的进行操作.(1- led_on 2 – ledoff...); 源码 ...
- gin PostForm 方法不起作用
情景: 在httpie post 下,在 axios post下,总的来说,就是在form-data下只有c.Bind()会有用 如果一定要用c.PostForm() headers必须为x-www- ...