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

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. JKS和PKCS#12

    今天来点实际工作中的硬通货! 与计费系统打交道,少不了用到加密/解密实现.为了安全起见,通过非对称加密交换对称加密密钥更是不可或缺.那么需要通过什么载体传递非对称算法公钥/私钥信息?数字证书是公钥的载 ...

  2. 移动web页面前端开发总结

    移动web在当今的发展速度是一日千里,作为移动领域的门外汉,在这段时间的接触后,发现前端开发这一块做一个小小的总结. 1.四大浏览器内核 1.Trident (IE浏览器) :因为在早期IE占有大量的 ...

  3. .net App_Browser文件夹的作用

    该可选的文件夹包含.browser文件..browser文件描述浏览器(不管是移动设备浏览器,还是台式机浏览器)的特  征和功能.ASP.NET在安装路径下的Config\Browser文件夹中安装了 ...

  4. Mac Brew Install Nginx Summary

    ==> Downloading https://homebrew.bintray.com/bottles/nginx-1.10.1.el_capitan.bot################# ...

  5. 数据存储_FMDB数据库队列

    一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: 1 // 2 // YYViewController.m 3 // 05- ...

  6. JavaScript 智能社 完美运动框架

    简约版: function getStyle(obj, name) { if(obj.currentStyle) { return obj.currentStyle[name]; } else { r ...

  7. 1.2、Workspace中让Package分层显示

    有时候我们新建两个具有两个相同目录的Package(例如:com.st.collection和com.st.map这两个Package)时,在Workspace中是以平铺的方式显示的,如: 当Pack ...

  8. Android 只开启一个Activity实例

    在一个Activity中,多次调用startActivity()来启动另一个Activity,要想只生成一个Activity实例,方法有两种. 方法一:设置起动模式 一个Activity有四种启动模式 ...

  9. 转载:Centos7 从零编译Nginx+PHP+MySql 序言 一

    这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先的一些 ...

  10. centos 编程环境

    1,老毛桃/大白菜, iso制作将镜像文件写入u盘2, 安装,修改安装源路径 (手动修改为你的u盘dev)一般为sdb43,   安装时选择桌面安装 4, 更改安装源cd /etc/yum.repos ...