LinuxShell条件判断语法.ppt

上传人:max****ui 文档编号:6375342 上传时间:2020-02-24 格式:PPT 页数:24 大小:308.31KB
返回 下载 相关 举报
LinuxShell条件判断语法.ppt_第1页
第1页 / 共24页
LinuxShell条件判断语法.ppt_第2页
第2页 / 共24页
LinuxShell条件判断语法.ppt_第3页
第3页 / 共24页
点击查看更多>>
资源描述
本课内容 Shell逻辑判断Shell条件判断Shell循环处理 2 1 条件判断命令testtestn1 参数n2 或 参数表达式 真返回0 假返回1 1 整数 比较运算符见下表test1 lt4 判断1 4echo 结果为0 test语句的等价形式 1 lt4 可用中括号代替test 把表达式括起来实现判断注意表达式与中括号间有空格 lt小于 le小于等于 gt大于 ge大于等于 eq等于 ne不等于 3 eg1 sh若输入的参数x是正数 显示xnumberispositive 4 2 文件测试 f存在且是普通文件 d存在且是目录 s存在且字节数大于0 r存在且可读 w存在且可写 x存在且可执行如 test d mydoc 判断mydoc是否是目录 eg2 检测从命令行输入的文件是否存在 5 3 字符串测试tests字符串s非空tests1 s2字符串s1等于s2tests1 s2字符串s1不等于s2test zs字符串长 0 即为空串test n字符串长 0 4 其他参数 a逻辑与 o逻辑或 逻辑非 文件状态测试 示例 shaison c 0表示成功 其他为失败 下同 逻辑操作符 a逻辑与 and 操作符两边均为真 结果为真 否则为假 o逻辑或 or 操作符两边一边为真 结果为真 否则为假 逻辑否 条件为假 结果为真 反之 示例 rhaison c a whai c 字符串测试 示例 z SHELL 数值测试 示例 10 eq 12 test和 命令 Test命令的别名 在usr bin目录下test和 的语法如下 testexpression expression 以上两种表达式等价在有if语句的时候一般使用 不用test Exp51 sh bin bashif n 1 a n 2 thenecho parais 1 2 elseecho hasnopara fi shell命令执行的相应顺序 命令1 命令2如果这个命令1执行成功 那么执行这个命2mvmyfilemyfile2 echo ifyouareseeingthisthenmvwassuccess 命令1 命令2如果 左边的命令 命令1 未执行成功 那么就执行 右边的命令 命令2 mvmyfilemyfile22 dev null echo ifyouareseeingthisthenmvwasfailed 获取用户输入 使用read命令可以获取用户的输入并赋予变量readvar1var2 exp6 sh bin bashecho Pleaseinputyourname readnameechoYournameis name 11 bin bashfname bin dateif test f fname thenecho exist fi说明 在shell程序中经常需要判断所处理的文件是否存在 本程序采用if语句的简单格式测试date文件 如果存在 则显示相关信息 否则退出if语句 任务一 判断 bin目录下date文件是否存在 任务二 比较两个数 bin bashnum1 100num2 100iftest num1 eq num2 thenecho Thetwonumbersareequal elseecho Thetwonumbersarenotequal fi 2 控制结构 2 1流程控制 分支结构 if语句 1 if expression then codeblockfi注意 以fi结尾 2 if expression then codeblockelse codeblockFi 3 if expression then codeblockelseif expression then codeblockelse codeblockfiFi注意 有一个if必须有一个fi对应 表达式的 后和 前必须有空格分离 4 if expression then codeblockelif expression then codeblockelse codeblockfiThen如果和表达式写在同一行的话 必须在表达式 号用分号 否则必须把then写在下一行 Exp7 sh 分支语句练习 bin bashif lt2 thenecho Musthavetwoparameteratleast exit0elif eq2 thenecho para1 1 para2 2 elseecho 1 2 3 fi bin bashif lt2 thenecho Musthavetwoparameteratleast exit0elseif eq2 thenecho para1 1 para2 2 elseecho 1 2 3 fifi 2 2流程控制 分支结构 case语句 if条件语句用于在两个选项中选定一项 而case条件选择为用户提供了根据字符串或变量的值从多个选项中选择一项的方法 其格式如下 casestringinexp 1 若干个命令行1 exp 2 若干个命令行2 其他命令行esac case表达式可以用来匹配一个给定的字符串 而不是数字 可别和C语言里的switch case混淆 shell通过计算字符串string的值 将其结果依次和分支表达式exp 1 exp 2等进行比较 直到找到一个匹配的表达式为止 如果找到了匹配项则执行它下面的命令直到遇到一对分号 为止 在case表达式中也可以使用shell的通配符 通常用 作为case命令的最后表达式以便使在前面找不到任何相应的匹配项时执行 其他命令行 的命令 Exp8 sh 分支语句练习 bin bashif lt1 thenecho needinputonefile atlease exit0ficase 1 in tar echo thisisatarfile tgz echo thisisatgzfile echo thisisacommonfile esac Menu sh简单的菜单功能 bin sh clearecho MENU echoecho 1 Findfilesmodifiedinlast24hours echo 2 Thefreediskspace echo 3 Spaceconsumedbythisuser echo 4 Exit echoecho n Select readchoicecase choicein1 find HOME mtime 1 print 2 df 3 du s HOME 4 exit echo Invalidoption esac 2 3控制结构 for循环 格式for变量名in列表do命令done当变量值在列表里 for循环即执行一次所有命令 使用变量名访问列表中取值 嵌套循环可以将一个for循环嵌在另一个for循环里 Exp9 0 sh bin bashcounter 0allfile ls echo allfileforFILESin allfiledoecho FILES counter expr counter 1 counter doneecho filecount counterin pwd bin bashi forargin idoecho argdonej 0 2 3 1for循环的另外形式 for循环中用seq产生循环次数 bin bashecho for Traditionalform forvarin forjin seq115 doecho jdone C语言形式的for循环语句 bin bashecho for Clanguageform for exp1 exp2 exp3 for i 1 i 5 i doecho i i done 2 4控制结构 until循环 格式until条件do命令doneuntil条件为假就循环执行一系列命令 直至条件为真停止 Exp10 sh bin bashmyvar 1until myvar gt10 doecho myvarmyvar myvar 1 done 2 5控制结构 while循环 格式while条件为真时执行循环do命令doneWhile循环用于不断执行一系列命令 也用于从输入文件中读取数据 虽然通常只有一个命令 但在while和do之间可以放几个命令 命令通常用作测试条件 只有当命令的退出状态为0时 do和done之间命令才被执行 如果退出状态不是0 则循环终止 Exp11 sh bin sh whileTest totestthemethodofwhileCOUNTER 0while COUNTER lt10 doecho COUNTERCOUNTER expr COUNTER 1 donewhilereadLINEdoecho LINEdonenames txt生成names txt While循环的C语言形式 bin bashi 1while i 100 doif i 4 0 thenecho ifii i 1 done Exp9 sh while循环练习 bin shnumber 1while number le10 douseradduser numberecho Addauserwhosenameis user number number expr number 1 done 循环建立10个用户帐户
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!