shell学习之路:流程控制(for)
for循环的语法:
1. for 变量 in 值1 值2 值3....
do
程序
done
例如:下列脚本会分别打印4次 分别是morning noon afternoon evening的值
#!/bin/bash
#打印时间
#Author Mrfeng for time in morning noon afternoon evening
do
echo $time
done
例如批量解压缩:
#!/bin/bash
#批量解压缩脚本
#Author: Mrf path=/opt/lamp cd $path ls *.tar.gz > ls.log
ls *.tgz >> ls.log
for i in $(cat ls.log)
do
tar zxvf $i &>>cc.log
done
rm -rf ls.log
2.for 语法二
格式:
for ((初始值;循环控制条件;变量变化))
do
程序
done
例如:
#!/bin/bash
#从1加到100 s=
for(( i=;i<=;i=i+1 ))
do
s=$(($s+$i))
done
echo "the sum of 1+2+...+100is: $s"
例如:批量添加用户
#!/bin/bash
# 批量添加用户数量的用户
# Author:Mr f (E-mail:) read -p "Please input user name:" -t name
read -p "Please input the number of users:" -t num
read -p "Please input the password of users:" -t pass
if [ ! -z "$name" -a ! -z "$num" -a ! -z "$pass" ]
then
y=$(echo $num | sed 's/[0-9]//g')
if [ -z "$y" ] ; then
for ((i=;i<=$num;i=i+))
do
/usr/sbin/useradd $name$i &>/dev/null
echo $pass | /usr/bin/passwd --stdin $n
ame$i &>/dev/null
done
fi
fi
cat /etc/passwd | grep user[-$num] | cut -d ":" -f >>userlist.log
当然我也写了一个利用 userlist.log进行批量删除的脚本方便大家做完实验后清理
#!/bin/bash
for i in $(cat ./userlist.log)
do
/usr/sbin/userdel -r $i &>>del.log
done
#cat del.log
rm -rf del.log
shell学习之路:流程控制(for)的更多相关文章
- shell学习之路:流程控制(while)
while循环: 介绍:while循环是不定循环,也称作条件循环.只要条件判断成立,循环就会一直继续执行,直到条件判断不成立,循环才会停止,这就是和for的固定循环不太一样了. while [ 条件判 ...
- shell学习之路:流程控制(if)
1.单分支if条件语句 if [ 条件判断式 ];then 程序 fi 或者 if [ 条件判断式 ] then 程序 fi 注意事项: 1.if语句使用fi结尾,和一般语言使用大括号结尾不同 2.[ ...
- lishell学习之路:流程控制(case)
流程控制case语句: 介绍:多分支case条件语句 1.case语句和if..elif..else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而i ...
- GO语言的进阶之路-流程控制
GO语言的进阶之路-流程控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑.流程控制 ...
- [Shell]条件判断与流程控制:if, case, for, while, until
---------------------------------------------------------------------------------------------------- ...
- Shell入门教程:流程控制(1)命令的结束状态
在Bash Shell中,流程控制命令有2大类:“条件”.“循环”.属于“条件”的有:if.case:属于“循环”的有:for.while.until:命令 select 既属于“条件”,也属于“循环 ...
- shell echo/read/printf/流程控制章节笔记
// echo read printf 流程控制 命令 1.read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 read hello 输入xxx echo $hell ...
- Python学习笔记 - day4 - 流程控制
Python流程控制 Python中的流程控制主要包含两部分:条件判断和循环. Python的缩进和语法 为什么要在这里说缩进和语法,是因为将要学习的条件判断和分支将会涉及到多行代码,在java.c等 ...
- Shell(三)流程控制
Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { ...
随机推荐
- 【BZOJ-4668】冷战 并查集 + 按秩合并 + 乱搞
4668: 冷战 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 37 Solved: 24[Submit][Status][Discuss] Des ...
- Android成长日记-使用GridView显示多行数据
本节将实现以下效果 Ps:看起来很不错的样子吧,而且很像九宫格/se ----------------------------------------------------------------- ...
- C# winform窗体设计-通过条件查询数据
在winform 数据库设计中,有时候需要通过条件查询对应的数据,并且将数据显示在文本框(or 富文本框)中,下面,小编将讲述通过一个条件: 首先,我们需要对数据库建立连接,并且执行数据库命令,在此之 ...
- Git: 一些基本命令
1.快速获取远程项目 1) git clone xxx.git // 如:git clone git://git.kernel.org/pub/scm/git/git.git 2) git clone ...
- C#的Invoke和BeginInvoke
在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate,至于委托的本质请参考我的另一随笔:对.net事件的看法. 一.为什么Control类提供了Invoke和Begin ...
- [Android] View.setTag(key,Object) (java.lang.IllegalArgumentException: The key must be an application-specific resource id.)
转自: http://blog.csdn.net/brokge/article/details/8536906 setTag是android的view类中很有用的一个方法,可以用它来给空间附加一些信息 ...
- MooseFs-分布式文件系统系列(二)之安装总结
preface 上篇博客写了如何安装MFS,那么现在就说说经验总结把 安装方式有源码和yum安装,在官网地址:https://moosefs.com/download/centosfedorarhel ...
- HD1814Peaceful Commission(模板题)
题目链接 题意: 和平委员会 根据宪法,Byteland民主共和国的公众和平委员会应该在国会中通过立法程序来创立. 不幸的是,由于某些党派代表之间的不和睦而使得这件事存在障碍. 此委员会必须满足下列条 ...
- HD1269迷宫城堡(有向图 && 划分连通块)
迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- zabbix 3.0快速安装简介(centos 6)
zabbix快速安装 系统版本:centos 6 1.yum源配置和zabbix.msyql安装 rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3. ...