所有的笔记只记录一些例子,根据例子解释一些出现的语法,不介绍具体的语法

2015-07-01 21:58:33 星期三

for循环

  • 用例一
    用for循环在家目录下创建aaa1-aaa10,然后在aaa1-aaa10创建bbb1-bbb10的目录
    1. #!/bin/bash
    2. for k in $(seq 1 10)
    3. do
    4.    mkdir /home/hxy/aaa${k}
    5. cd /home/hxy/aaa${k}   
    6.    for i in $(seq 1 10)
    7. do
    8. mkdir bbb${i}
    9. done
    10. done

    seq 用于产生从某个数到另外一个数之间的所有整数

用例二

  1. #!/bin/bash
  2. DIR="/var"
  3. cd $DIR
  4. for k in $(ls $DIR)
  5. do
  6.    [ -d $k ]&& du -sh $k
  7. done

-d 判断是否为目录

或者

  1. vi getdu.sh
  2. #!/bin/bash
  3. DIR=$1
  4. if [ -d $DIR ];then
  5. cd $DIR
  6.  for k in $(ls $DIR)
  7.  do
  8.     [ -d $k ]&& du -sh $k
  9.  done
  10. else 
  11.   echo $1" is not a directory!!"
  12. fi

使用,加入一个判断

  1. [root@oracle ~]# sh getdu.sh a
  2. a is not a directory!!
  1. [root@oracle ~]# sh getdu.sh /var
  2. 4.0K account
  3. 15M cache
  4. 4.0K crash
  5. 4.0K cvs
  6. 12K db
  7. 8.0K empty
  8. 8.0K ftp
  9. 4.0K games
  10. 4.0K gdm
  11. 64M lib
  12. 4.0K local
  13. 20K lock
  14. 7.3M log
  15. 0 mail
  16. 4.0K nis
  17. 4.0K opt
  18. 4.0K preserve
  19. 284K run
  20. 1.8M spool
  21. 8.0K tmp
  22. 12K yp

while循环

用例一

  1. [root@oracle ~]# cat a.txt
  2. aaa
  3. bbb
  4. ccc
  5. ddd
  6. [root@oracle ~]# cat while.sh
  7. #!/bin/bash
  8. while read line
  9. do
  10. echo ${line}
  11. done < a.txt

输出

  1. [root@oracle ~]# sh while.sh
  2. aaa
  3. bbb
  4. ccc
  5. ddd

用例二

  1. [root@oracle ~]# cat sum.sh
  2. declare -i i=1
  3. declare -i sum=0
  4. while ((i<=10))
  5. do
  6. let sum=sum+i
  7. let ++i
  8. done
  9. echo $sum
  10. [root@oracle ~]# sh sum.sh
  11. 55

declare -i 声明i和sum为整数类型

until循环

  1. [root@oracle ~]# cat sum.sh
  2. declare -i i=1
  3. declare -i sum=0
  4. until ((i>10))
  5. do
  6. let sum=sum+i
  7. let ++i
  8. done
  9. echo $sum
  10. [root@oracle ~]# sh sum.sh
  11. 55

until条件为假才执行

shell循环语句的更多相关文章

  1. Shell循环语句for、while、until

    Shell循环语句for.while.until            一.条件测试            二.删除字符            三.循环语句              示例1     ...

  2. shell循环语句until

    until 条件 do 执行命令 done until 循环与 while 循环在处理方式上刚好相反. 当条件成立的时候,停止循环.

  3. shell循环语句for

    1.方式1 for i in {list[0]} {list[1]} .. do 执行命令 done 2.方式2(三要素循环) for (( 初始值; 判断值; 步长; )) do 执行命令 done

  4. shell 循环语句

    1.while 2.for 3.until 4.select while #!/bin/bash # 显示一系列数字 count=1 while [ $count -le 6 ]; do echo $ ...

  5. shell循环语句while

    格式1: while 条件 do 执行命令 done 格式2: while 条件;do 命令 done 例子: while [ 1 -eq 1 ];do echo "这一步需要先修改/dat ...

  6. shell 学习笔记9-while/until循环语句

    一.while循环语句 1.循环语句 循环愈久就是重复执行一条指令或一组执行,知道条件不在满足时停止,shell循环语句包括,while.until.for.select语句 2.while循环 主要 ...

  7. shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句

    shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动 ...

  8. shell编程基础(二): shell脚本语法之分支语句和循环语句

    一.分支语句 1.条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与 ...

  9. Shell脚本应用(for、while循环语句和case分支语句)

    1.for:读取不同的变量值,逐个执行同一组命令,直到取值完毕退出,变量值以空格分隔 语法: for  变量值  in  取值列表 do 命令序列 done 2.while:重复测试某个条件,成立则执 ...

随机推荐

  1. 12月8日phpcms添加子栏目后的读取

    一个栏目下面如果没有子栏目,那么它调用的模板就是列表页模板(及list_为前缀的模板):如果一个栏目下面有子栏目,那么它调用的就是栏目首页模板(category_为前缀的模板). 所以,当你这个栏目添 ...

  2. [Unreal]学习笔记之材质说明

    取消蓝图中的连接线:Alt+鼠标左键 在蓝图中,通过按住1,2,3,4加鼠标左键,可以快速生成1,2,3,4维的向量 材质和材质实例的区别:使用一个母材质,可以创建出多种场景中的材质实例:每次修改母材 ...

  3. git操作---更新删除

    1.更新git   git pull <远程主机名> <远程分支名> 例如:git pull origin master 2.更新子模块 git submodule updat ...

  4. .htaccess基本语法和应用 (2012-11-09 16:13:47)转载▼

    htaccess基本语法和应用 (2012-11-09 16:13:47) 转载▼ 标签:  htaccess it 分类: 网络 .htaccess是Apache服务器的一个非常强大的分布式配置文件 ...

  5. [整理]AngularJS移动端开发遇到的问题

    最近在开发一个移动WebAPP的小项目,因为之前一直使用AngularJS, 对于这个项目,废话不多说,拿过来就用上了. 开发过程是一路通畅和舒服的,但是,却忽略了一个非常重要的问题,移动2G环境下的 ...

  6. Redhat6.4下安装Oracle10g

    Oracle10g_Redhat6.4 安装指南 文档说明 本文借鉴<Redhat_Linux_6.4下Oracle_10g安装配置手册><Redhat 6.4 安装 Oracle1 ...

  7. java多线程操作

    进程是程序的一次动态的执行过程,它经历了从代码加载.执行完毕的一个完整过程,这个过程也是进程本身从产生.发展到最终消亡的过程. 多线程是实现并发机制的一种有效的手段.进程和线程一样,都是实现并发的一个 ...

  8. Azure上的那些IP

    相信第一次接触Azure的读者都会碰到这样一个问题,就是Azure的IP地址,笔者第一次接触Azure也是被搞懵逼了,一会儿VIP,不知道的还以为是会员的意思呢,一会儿又是DIP,后来又来了个PIP, ...

  9. Struts2第一个入门案例

      一.如何获取Struts2,以及Struts2资源包的目录结构的了解    Struts的官方地址为http://struts.apache.org 在他的主页当中,我们可以通过左侧的Apache ...

  10. webstorm ES6 转 ES5

    一句话总结:用WebStorm自带的File Watcher功能+Babel实现自动转换ECMAScript 6代码为ES5代码 1. 新建一个Empty Project,然后在src目录下新建了一个 ...