欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    shell编程——if语句.pdf

    • 资源ID:70333559       资源大小:563.49KB        全文页数:9页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    shell编程——if语句.pdf

    2014/12/5shell编程if语句ifznfeqnelt_诗诗轩月_新浪博客http:/ 中 小shell编程if语句if-z-n-f-eq-ne-lt(2011111109:47:01)标签:杂谈分类:shell和lperlif条件thenCommandelseCommandfi别忘了这个结尾If语句忘了结尾fitest.sh:line14:syntaxerror:unexpectedendoffi if 的三种条件表达式ifcommandthenif函数then命令执行成功,等于返回0(比如grep,找到匹配)执行失败,返回非0(grep,没找到匹配)ifexpression_r_r_rthen表达式结果为真,则返回0,if把0值引向theniftestexpression_r_r_rthen表达式结果为假,则返回非0,if把非0值引向then&快捷iff/etc/shadow&echoThiscomputerusesshadowpasswors&可以理解为then如果左边的表达式为真则执行右边的语句 shell的if与c语言if的功能上的区别shellifc语言if0为真,走then正好相反,非0走then不支持整数变量直接if必须:ifine0但支持字符串变量直接ififstr如果字符串非0支持变量直接ifif(i)=以command作为if 条件=以多条command或者函数作为if 条件echon“input:”readuserif多条指令,这些命令之间相当于“and”(与)加好友发纸条写留言加关注诗诗轩月博客等级:博客积分:1273博客访问:37,285关注人气:20获赠金笔:0赠出金笔:0荣誉徽章:Qing微博爱ORACLE的博客http:/ 订阅 手机订阅首页博文目录图片关于我2014/12/5shell编程if语句ifznfeqnelt_诗诗轩月_新浪博客http:/ 以函数作为if条件 (函数就相当于command,函数的优点是其return值可以自定义)if以函数作为if条件,getynthen函数reture值0为真,走thenechoyouranswerisyeselse函数return值非0为假,走elseechoyouranserisnofi if command 等价于 command+if$?$vitestsh.sh#!/bin/shifcat111tmp.txt|grepting1thenechofoundelseechonofoundfi$vitestsh.sh#!/bin/shcat111tmp.txt|grepting1if$?eq0thenecho$?echofoundelseecho$?echonofoundfi$shtestsh.shnofound$shtestsh.sh1nofound$vi111tmp.txtthatis222filethisting1is111file$shtestsh.shthisting1is111filefound$vi111tmp.txtthatis222filethisting1is111file$shtestsh.shthisting1is111file0found =以条件表达式作为 if条件=传统if 从句子以条件表达式作为 if条件if 条件表达式 then command command commandelse command commandfi 条件表达式文件表达式if -f file 如果文件存在2014/12/5shell编程if语句ifznfeqnelt_诗诗轩月_新浪博客http:/ -d.如果目录存在if -s file 如果文件存在且非空 if -r file 如果文件存在且可读if -w file 如果文件存在且可写if -x file 如果文件存在且可执行 整数变量表达式if int1-eq int2 如果int1等于int2 if int1-ne int2 如果不等于 if int1-ge int2 如果=if int1-gt int2 如果if int1-le int2 如果=if int1-lt int2 如果 和,会被当作尖括号,只有-ge,-gt,-le,ltmacgmachome$vitest.shechoinputa:readaif$age100thenecho3bitelseecho2bitfimacgmachome$shtest.sh2014/12/5shell编程if语句ifznfeqnelt_诗诗轩月_新浪博客http:/ 整数操作符号-ge,-gt,-le,-lt,别忘了加-iftest$age100thenmacgmachome$shtest.shtest.sh:line4:test:ge:binaryoperatorexpectediftest$age100thenmacgmachome$shtest.shinputa:1233bit=逻辑表达式=逻辑非!条件表达式的相反if !表达式 if !-d$num 如果不存在目录$num 逻辑与 a 条件表达式的并列if 表达式1 a 表达式2 逻辑或-o 条件表达式的或if 表达式1 o 表达式2 逻辑表达式 表达式与前面的=!=-d f x-ne-eq-lt等合用 逻辑符号就正常的接其他表达式,没有任何括号(),就是并列if -z$JHHOME-a-d$HOME/$num 注意逻辑与-a与逻辑或-o很容易和其他字符串或文件的运算符号搞混了 最常见的赋值形式,赋值前对=两边的变量都进行评测左边测变量是否为空,右边测目录(值)是否存在(值是否有效)macgmachome$vitest.sh:echoinputthenum:readnumechoinputis$numifz$JHHOMEad$HOME/$num如果变量$JHHOME为空,且$HOME/$num目录存在thenJHHOME=$HOME/$num则赋值fiechoJHHOMEis$JHHOMEmacgmachome$shtest.shinputthenum:pppinputispppJHHOMEis目录d$HOME/$num不存在,所以$JHHOME没被then赋值macgmachome$mkdirppp2014/12/5shell编程if语句ifznfeqnelt_诗诗轩月_新浪博客http:/ 一个-o的例子,其中却揭示了”=”必须两边留空格的问题echoinputyourchoice:readANSif$ANS=Yeso$ANS=yeso$ANS=yo$ANS=YthenANS=yelseANS=nfiecho$ANSmacgmachome$shtest.shinputyourchoice:nymacgmachome$shtest.shinputyourchoice:noy为什么输入不是yes,结果仍是y(走then)因为=被连读了,成了变量$ANS=Yes,而变量又为空,所以走else了macgmachome$vitest.shechoinputyourchoice:readANSechoinputyourchoice:readANSif$ANS=Yeso$ANS=yeso$ANS=yo$ANS=YthenANS=yelseANS=nfiecho$ANSmacgmachome$shtest.shinputyourchoice:nonmacgmachome$shtest.shinputyourchoice:yesymacgmachome$shtest.shinputyourchoice:yy=以 test 条件表达式 作为if条件=if test$num-eq 0 等价于 if$num eq 0 test 表达式,没有 if test$num-eq 0 thenecho try againelseecho goodfi man test2014/12/5shell编程if语句ifznfeqnelt_诗诗轩月_新浪博客http:/ 用简化 if 和$1,$2,$3来检测参数,不合理就调用help-z$1&help 如果第一个参数不存在(-z 字符串长度为0)$1=-h&help 如果第一个参数是-h,就显示help例子#!/bin/sh-f/etc/sysconfig/network-scripts/ifcfg-eth0&rm-f/etc/sysconfig/network-scripts/ifcfg-eth0cp ifcfg-eth0.bridge/etc/sysconfig/network-scripts/ifcfg-eth0-f/etc/sysconfig/network-scripts/ifcfg-eth1&rm-f/etc/sysconfig/network-scripts/ifcfg-eth1cp ifcfg-eth1.bridge/etc/sysconfig/network-scripts/ifcfg-eth1-f/etc/sysconfig/network-scripts/ifcfg-eth0:1&rm-f/etc/sysconfig/network-scripts/ifcfg-eth0:1前一篇:bash shell中if-f$2和echo-e是什么意思后一篇:如何选个好男人做老公good2012-9-13 14:23分享:0喜欢0赠金笔推荐:中国5女追1男的艳遇之都决定女人能否幸福的关键品质登录注册2014/12/5shell编程if语句ifznfeqnelt_诗诗轩月_新浪博客http:/ 收听验证码如何选个好男人做老公11月5日 11:17发评论以上网友发言只代表其个人观点,不代表新浪网的观点或立场。新浪BLOG意见反馈留言板不良信息反馈电话:4006900000提示音后按1键(按当地市话标准计费)欢迎批评指正新浪简介|AboutSina|广告服务|联系我们|招聘信息|网站律师|SINAEnglish|会员注册|产品答疑Copyright19962014SINACorporation,AllRightsReserved新浪公司版权所有

    注意事项

    本文(shell编程——if语句.pdf)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开