博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux Shell编程4
阅读量:6535 次
发布时间:2019-06-24

本文共 1440 字,大约阅读时间需要 4 分钟。

Linux Shell编程42011-07-19 18:24For循环for…in…do…doneIn后面的变量时迭代变量,每次执行时迭代变量都会选用表达式list中的列出的不同单词。for循环结构与C语言中有所不同,在BASH中for循环的基本结构是:for var in [list]do#code blockdone其中$var是循环控制变量,[list]是var需要遍历的一个集合,do/done对包含了循环体,相当于C语言中的一对大括号。另外如果do和for被写在同一行,必须在do前面加上“;”。如:for $var in [list]; do例1:#!/bin/bashfordayin Sun Mon Tue Wed Thu Fri Satdoecho $daydone例2:如果列表被包含在一对双引号中,则被认为是一个元素#!/bin/bashfordayin "Sun Mon Tue Wed Thu Fri Sat“doecho $daydone例3:#!/bin/bashfor FILE in $*doif[ -e $FILE ]thenchmod 600 $FILEelseecho “The file $FILE does not exist.”fidone产生迭代列表的常用工具for i in $*	脚本的命令行参数for I in /etc/*.conf	与表达式/etc/*.conf相配的文件for I in $(command)	command命令的输出例4:#!/bin/bashforDIR in $*doif [ -d $DIR ]thenif [ “$DIR” == “.” –o “$DIR” == “..” ]thenecho “skipping directory $DIR”elsetar czvf $DIR.tgz $DIR && rm –rf $DIRfielseecho “skipping non directory $DIR”fidonewhile循环while循环的基本结构是:while [ condition ]do#code blockdoneuntil循环的基本结构是:until [ condition ]do#code blockdonewhile和until的区别在于while是为真时执行,until是为假时执行Case语句BASH中的case结构与C语言中的switch语句的功能比较类似,可以用于进行多项分支控制。case "$var" incondition1 );;condition2 );;* )default statments;;esac例1:#!/bin/bashecho "Hit a key, then hit return."read Keypress//read内置命令可以从键盘(“标准输入“)读取输入case "$Keypress" in[A-Z] ) echo " Uppercase letter";;[a-z] ) echo " Lowercase letter";;[0-9] ) echo "Digit";;* ) echo "Punctuation, whitespace, or other";;esac

转载于:https://www.cnblogs.com/yuzaipiaofei/archive/2011/07/20/4124551.html

你可能感兴趣的文章