for 循环语句

for var in [ 取值列表 ]
do echo $var
done例:
for i in 1 2 3 4 5
for j in {1..100}
# ls -l /etc/|wc -l
# 转义字符
for var in file1 file\'2 I\'s  # 三次,斜杠用来转义
# 从变量中取值
list="file1 file2 file3"
for i in $list
# 从命令中取值
for i in 'cat /etc/hosts'
do
# for 循环可以自定义shell分隔符,默认以空格作为分隔。IFS来自定义
1. 冒号   IFS=:
2. 冒号,封号,双引号  IFS=:;"
3. 换行符  IFS=$'\n'#!/usr/bin/bash
IFS=$'\n'
for i in `cat /etc/hosts`
do # echo $iecho $i|grep "root"  # 输出包含root的
done
# 变量的自增和自减  C写法
for ((i=0;i<10;i++))
docommands
done
for (( a=1,b=9;a<10;a++,b--))
doecho num is $a $b
done
# 批量创建用户
#!/user/bin/bash
for i in $( cat user.txt )
douser=$( echo $i|awk -F : '{print $1}' )pass=$( echo $i|awk -F : '{print $2}' )echo $user  密码是 $pass id $user &>/dev/nullif [ $? -eq 0 ];thenecho " alreade exists "elseuseradd $userecho "$pass"|passwd --stdin $userfi
done
# 批量创建用户,用户输入数量和前缀, bax,10 表示从1到10
1. 批量 循环
2. 用户输入
#!/usr/bin/bashread -p " please enter 前缀:" pre
read -p "please enter number: " numfor i in $(seq $num)
do user=$pre$iid $user &>/dev/nullif [ $? -eq 0 ];thenecho "already exist"elseadduser $user ccccecho " add successfully"fi
done

批量创建用户,输入前缀(不能为空),输入用户数量(必须是整数) ,该脚本只能root 用户执行


# 只能root 用户运行该脚本
if [ ! $UID -eq 0 -o $user == "root" ];thenecho " 没有执行权限"exit
fi
read -p "前缀:" qz
read -p "用户数量" num
# 判断前缀不能为空,数量必须为整数
if [ -z $qz ];thenecho " 不能为空"exit
fi
if [[ ! $num=~[0-9]+$ ]];thenecho "请输入整数"exit
fi
for i in $(seq $num)
douser=$qz$iid $user &>/dev/nullif [ $? -eq 0 ];thenecho "already exists"elseuseradd $userecho "create successfully"fi
done
# 密码写入到特定的文件中
echo "$pass" | passwd --stdin $user &>/dev/null
# 随机密码
$((RANDOM))|md5sum|cut 2-8
echo "用户:$user 密码: $pass" >> /tmp/user.log
# 删除用户命令
userdel -r $user

批量探测主机存活状态 172.16.1.{1..254}

1.需要使用循环,254次
2. ping命令探测主机#!/usr/bin/bash
for i in {1..254}
do# 并发效果{ping -c 1 -W 1  172.16.1.$i &>/dev/nullrs=$?echo $rsif [ $rs -eq 0 ];thenecho "172.16.1.$i is ok" >> /tmp/ip.logelseecho "172.16.1.$i ping不通" fi} &
done# wait等上面的全部结束以后,在输出下面这一行waitecho "ip is down"# 注意并发的使用!!!# 开始测试端口 nmap ip|grep "22"
echo 'test ssh post...'
IFS=$'\n'
for i in $(cat /tmp/ip.log)
doip=$(echo $i|awk '{print $1}'nmap $ip|grep "22" &>/dev/nullif [ $? -eq 0 ];thenecho "$ip 22 is ok" >> /tem/port.logfi
done

编写点名脚本

1. 名单文件
#!/usr/bin/bashnumber=$(wc -l student.txt|awk '{print $1}')
for i in $(cat student.txt)
donum=$((RANDOM % $number))
donestudent=$(sed -n "${num}p" student.txt)echo $student

随机产生一个100以内的数字,用户输入数字做对比,提示用户大了或小了,然后猜对退出

统计猜错的次数


#!/usr/bin/bashsj=$((RANDOM % 100 +1))i = 1
while true
doread -p "请输入一个数字:" numif [ ! $num=~^[0-9]+$ ];thenecho " 请输入整数"continue
fiif [ $num -ge $sj ];thenecho "大了"
elif [ $num -le $sj ];thenecho "小了"
elseecho "ok~~!"break
fi
let i++
done
echo "失败了$i 次"
# 命令总结
# 查看执行过程
sh -x version.sh
# -n1 以列的方式显示、
echo tt{1..10}|xargs -n1
# 写入文件中
echo tt{1..10}|xargs -n1 > user.txt

转载于:https://www.cnblogs.com/Afrafre/p/11405724.html

shell - for 循环相关推荐

  1. linux shell for 循环变量,shell for循环总结

    1 shell for循环语法 for 变量 in 列表 do command1 command2 ... commandN done 1.1 读取列表中的值 #!/bin/bash for test ...

  2. shell for循环案例:自动批量添加iptables应用端口规则

    shell foriptables ##################################################### ##如有转载,请务必保留本文链接及版权信息 ##linu ...

  3. linux用while循环输出1到10,Linux Shell系列教程之(十一)Shell while循环 | Linux大学...

    摘要 在上一篇Linux Shell系列教程之(十)Shell for循环中,我们已经对Shell 循环语句的for循环进行了介绍,本篇给大家介绍下Shell 中另一种循环语句:Shell while ...

  4. Linux Shell脚本入门教程系列之(十二)Shell until循环

    本文是Linux Shell脚本系列教程的第(十二)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 在上两篇文章Linux Shell系列教程之(十)Shell for循环 ...

  5. Linux Shell脚本入门教程系列之(十一)Shell while循环

    本文是Linux Shell脚本系列教程的第(十一)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 在上一篇Linux Shell系列教程之(十)Shell for循环中, ...

  6. Linux Shell脚本入门教程系列之(十)Shell for循环

    本文是Linux Shell脚本系列教程的第(十)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 基本任何语言都有自己的循环语句,Shell当然也不例外,继上一篇之后,今天 ...

  7. linux shell for 循环变量,shell for循环、循环变量值付给其他shell脚本的方法

    本文主要将在shell中如何编写for循环,并将循环变量作为下个shell脚本的参数. shell for 循环: #!第一种写法 类似c.java for ((i=1; i<=100; i + ...

  8. Linux脚本验证的常见方法,linux shell常用循环与判断语句(for,while,until,if)使用方法...

    shell的循环主要有3种,for,while,until shell的分支判断主要有2种,if,case 一,for循环 #!/bin/bash for file in $(ls /tmp/test ...

  9. Linux _ Shell编程 — 循环语句

    Linux _ Shell编程 - 循环语句 一.循环语句for的用法 二.循环语句while的用法 三.循环控制语句 一.循环语句for的用法 for 变量名 in 单词表do命令表done 变量依 ...

  10. shell—for循环

    shell-for循环 文章目录 shell-for循环 1.for循环基本概述 1.1 什么是循环 1.2 什么是for循环 2.for循环基础语法 3.for循环练习题 1.for循环基本概述 1 ...

最新文章

  1. 简简单单的代码让你轻松学会 动态代理
  2. 信息学奥赛一本通 1085:球弹跳高度的计算 | OpenJudge NOI 1.5 20
  3. (75)信号发生器DDS锯齿波设计(一)(第15天)
  4. 项目管理学习总结(3)——产品文档的规划化管理总结
  5. [滤镜]的firefox兼容问题
  6. [渝粤教育] 西南科技大学 物流信息系统 在线考试复习资料
  7. 【学习笔记:计算几何基础3】 Convex Hull
  8. 《Java从入门到放弃》框架入门篇:在MyEclipse中创建SpringBoot项目
  9. PR-Place-performing Placement and Optimization-1
  10. id 查找apple_Apple ID忘记了怎么办 Apple ID找回方法【详细介绍】
  11. 视频教程-Unity5入门及进阶项目实战 星际迷航-Unity3D
  12. 由于哈希冲突,不同值的对象也可能具有相同的哈希值
  13. 微信云开发-事件触发器的使用
  14. JQuery属性选择器(属性值是变量、多属性选择)
  15. 【算法练习】数据结构/图论 poj4084:拓扑排序
  16. 梯度下降法-学习率选取
  17. warning: statement has no effect [-Wunused-value]
  18. [LeetCode] Merge k Sorted Lists 合并k个有序链表
  19. 格式锂电池过放后无法充电,无法识别|救活方法
  20. 【Linux】实验报告8 Linux文件系统

热门文章

  1. php WordPress开发,wordpress主题如何开发
  2. perl读取文本文件内容
  3. ShuffleNet V2 论文阅读笔记
  4. 进程间通信————共享内存
  5. 新手如何做好微信营销
  6. 一个资深程序员的忠告
  7. 美联储加息力挽狂澜 人民币汇率会否“破7”
  8. iOS报 Expanded from macro ‘xxx‘
  9. javascpirt + HTML实现点亮灯泡
  10. 学校宿舍的深夜之思考