现在的位置: 首页 > 综合 > 正文

CTDP linux 程序员手册 (4.3) 控制和迭代

2013年05月10日 ⁄ 综合 ⁄ 共 1078字 ⁄ 字号 评论关闭

 

  • if – 根据一个条件执行多个分支语句。例如:
·       if [ ! -d /mnt ]  # 确认目录 /mnt 是否存在
·       then
·          mkdir /mnt
·       fi
  • case – 根据一个变量得值执行指定的命令。例如:
·       case $NUM
·       1)
·          echo The number is 1
·          ;;
·       2)
·          echo The number is 2
·          ;;
·       *)
·          echo The number is not 1 or 2
·          ;;
·       esac
  • for – 用于一个条件的所有情况的循环。在下面的例子中,它被用于将目录/mnt/floppy 中的文件拷贝到目录 /etc 中。对于每一行给出相应得描述:
    1. for 循环语句遍历所有找到得文件
    2. 测试这个文件是普通文件并且不是目录。
    3. 注释行。
    4. 这一行用$i提取文件名称,它包含全称路径。并且附值给变量filename。 这种方法叫参数扩展,在bash man中有相关的文档。了解更多信息请查阅"Linux Programmer's Guide".
    5. 这一行向标准输出发送一个句子,显示什么文件正在被拷贝。
    6. 这一行利用-p 选项实现了拷贝操作并且保留了文件属性。注意:大部分得脚本编程能力来源于对各种命令、程序和工具的掌握程度,而不是基于严格受限的晦涩的语法。如果读了系统启动脚本/etc/rc.d 和相关的目录之后,这是相当明显的。
    7. 这一行结束 if 语句.
    8. 这一行结束 for 语句.
·       1. for i in /mnt/floppy/*; do
·       2.     if [ -f $i ]; then
·       3.     # if the file is there
·       4.        filename=${i#/mnt/floppy/}
·       5.        echo copying $i to /etc/$filename
·       6.        cp -p $i /etc/$filename
·       7.     fi
·       8. done
  • until – 直到某条件被满足,一直循环执行。语法如下:
·       until [ expression ]
·       do
·          statements
·       done
  • while – 当某条件被满足时,循环被执行。下列得循环将一直被执行:
·       while [ 1 ]
·       do
·          statement(s)
·       done
 

抱歉!评论已关闭.