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

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. datagrid

    <!DOCTYPE html><html><head> <style>body {  font-family: Helvetica Neue, Aria ...

  2. DOM编程的性能问题

    用脚本进行DOM操作的代价很昂贵,它是富Web应用中最常见的性能瓶颈. 浏览器中的DOM:天生就慢 DOM(文档对象模型)是独立于语言的,但在浏览器中的接口是用JavaScript实现的.两个相互独立 ...

  3. 在UP Board 上搭建M——L服务器

    前言 原创文章,转载引用务必注明链接,水平有限,欢迎指正. 本文环境:ubilinux 3.0 on UP Board 初识免流 所谓免流,就是免除手机访问网络产生的流量费用.其原理在乌云网上有过报道 ...

  4. DataTable DataRow DataColumn DataSet

    1.DataTable 数据表(内存) 2.DataRow DataTable 的行 3.DataColumn DataTable 的列 4.DataSet 内存中的缓存

  5. Ubuntu14.04安装python3.5

    Ubuntu14.04系统会自带python2.7,请不要卸载它,不同版本的Python可以共存. #sudo add-apt-repository ppa:fkrull/deadsnakes #su ...

  6. hibernate+mysql的连接池配置

    1:连接池的必知概念    首先,我们还是老套的讲讲连接池的基本概念,概念理解清楚了,我们也知道后面是怎么回事了. 以前我们程序连接数据库的时候,每一次连接数据库都要一个连接,用完后再释放.如果频繁的 ...

  7. SQL创建流水号

    创建流水号表 CREATE TABLE SystemSerialNo ( SerialNoId INT PRIMARY KEY IDENTITY, TableName VARCHAR(60), Pre ...

  8. Create a new Windows service on windows server2012

    netsh http add iplisten ipaddress=0.0.0.0:15901 sc.exe create "FPPService" binPath= " ...

  9. 常用linux 命令 -网络相关

    此文参考: 1.网络文章,但最后发现源头是在<鸟哥私房菜>,再次感谢原作者: 2.工作中跟同事讨论,自己尝试. 本人水平有限,如有错误,请大家指正,谢谢. 一 网络参数设置命令 1.ifc ...

  10. Linux 平台GCC使用小结

    gcc -Wall [-I search_headfile_path] [-L search_lib_path] sourcefile -lNAME -o exe-name -Wall选项打开所有最常 ...