编写Shell程序 用for命令实现检察目录下文件f1,f2,f3,.f4,f5若长度为0则删除,不需要用户确认

2)编写Shell程序 用for命令实现检察目录下文件f1,f2,f3,.f4,f5若长度为0则删除,不需要用户确认

第1个回答  2013-08-24
test 条件表达式[ 条件表达式 ] [ ] 方括号与条件表达式需要用空格进行分隔1. 测试文件状态ü -d 是否为目录ü -e 文件是否存在ü -f 是否为文件ü -r 是否有读取的权限ü -w 是否有写入权限ü -x 是否有执行权限ü -L 是否为链接文件2. 整数值比较ü -eq 等于ü -ne 不等于ü -gt 大于ü -lt 小于ü -le 小于等于ü -ge 大于等于3. 字符串比较ü = 匹配ü != 不匹配ü -z 是否为空ü ! 用于取反4. 逻辑测试ü && 逻辑与(前后两个条件都为真时,结果才为真)ü || 逻辑或(有一个条件成立,结果即为真)ü ! 逻辑非(指定条件不成立,结果为真)if 语句的结构1.单分支的if语句if 条件测试命令then命令序列fi条件成立执行then后一条或多条命令(命令序列)直到fi 表示结束条件不成立直接执行fi 条件成立执行then后的一条或多条命令(命令序列)条件不成立执行else后的一条或多条命令直到fi2.双分支的if语句 if 条件测试命令then命令序列1else命令序列2fi条件成立执行then后的一条或多条命令(命令序列)条件不成立执行else后的一条或多条命令直到fi 3.多分支的if语句(更多使用case语句来实现) 根据if语句条件测试命令的两种状态分别进行操作,嵌套使用,条件1为真:执行then后的命令直到fi条件1为假:执行elif后的条件2条件2为真,执行命令2,直到fi为假,执行else后的命令3直到fiif 条件测试命令1 then命令序列1elif 命令测试条件2then命令序列2else命令序列3fi根据if语句条件测试命令的两种状态分别进行操作,嵌套使用,条件1为真:执行then后的命令直到fi条件1为假:执行elif后的条件2条件2为真,执行命令2,直到fi为假,执行else后的命令3直到fi 将case后边的变量只与模式1、模式2 ………..等进行逐一比较,直到找到与之匹配的值,然后执行该模式下的命令序列,当遇到;;后跳转至esac后结束分支4.case语句(适用于需要进行多重分支的情况) case 变量值 in模式1)命令序列1;;模式2)命令学列2;;.......... *) esac 将case后边的变量只与模式1、模式2 ………..等进行逐一比较,直到找到与之匹配的值,然后执行该模式下的命令序列,当遇到;;后跳转至esac后结束分支 使用in关键字为用户自定义变量设置了一个取值列表(以空格分隔的多个值),for语句第一次执行时,先将列表中的第一个值赋给变量,然后执行do后边的命令序列,再将第二个取值赋给该变量,然后执行do后边的命令序列,一直循环,直到列表中的所有值都已经用完,跳转至donefor语句结构 for 变量名 取值列表do命令序列done 使用in关键字为用户自定义变量设置了一个取值列表(以空格分隔的多个值),for语句第一次执行时,先将列表中的第一个值赋给变量,然后执行do后边的命令序列,再将第二个取值赋给该变量,然后执行do后边的命令序列,一直循环,直到列表中的所有值都已经用完,跳转至done 条件为真 执行do 后边的命令然后返回到while再次判断,条件为真,继续执行do后的命令序列,直到条件为假,跳转到done语句,结束循环while语句结构 while 条件测试命令do命令序列done条件为真 执行do 后边的命令然后返回到while再次判断,条件为真,继续执行do后的命令序列,直到条件为假,跳转到done语句,结束循环 until循环与while循环结构非常类似,只不过,until是当条件不成立时进行循环,until 命令测试条件do命令序列doneshift语句(迁移位置变量)执行shift命令后,位置变量($1 -----$9)中的参数会依次向左传递循环控制语句ü break 中断:跳出当前所在的循环,并不跳出程序ü continue 继续:暂停本次循环,跳转至循环语句顶部重新测试条件shell函数的定义和调用ü 定义Function 函数名 {命令序列}函数名(){命令序列}ü 调用:直接调用函数名称即可

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网