网站大量收购独家精品文档,联系QQ:2885784924

Shell 布尔运算.pdfVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Shell 布尔运算

Shell 布尔运算 前言 上个礼拜介绍了Shell编程范例之数值运算,对 Shell 下基本数值运算⽅法做了简单的 介绍,这周将⼀ 探讨布尔运算,即如何操作“真假值” 。 在 Bash ⾥有这样的常量(实际上是两个内置命令,在这⾥我们姑且这么认为,后⾯将 介绍) ,即 true 和 false ,⼀个表⽰真,⼀个表⽰假。对它们可以进⾏与、或、⾮运算 等常规的逻辑运算,在这⼀节,我们除了讨论这些基本逻辑运算外,还将讨论Shell编 程中的条件测试和命令列表,并介绍它们和布尔运算的关系。 常规的布尔运算 这⾥主要介绍 Bash ⾥头常规的逻辑运算,与、或、⾮。 在 Shell 下如何进⾏逻辑运算 范例:true or false 单独测试 true 和 false,可以看出 true 是真值,false 为假 $ if true;then echo YES; else echo NO; fi YES $ if false;then echo YES; else echo NO; fi NO 范例:与运算 $ if true true;then echo YES; else echo NO; fi YES $ if true false;then echo YES; else echo NO; fi NO $ if false false;then echo YES; else echo NO; fi NO $ if false true;then echo YES; else echo NO; fi NO 范例:或运算 $ if true || true;then echo YES; else echo NO; fi YES $ if true || false;then echo YES; else echo NO; fi YES $ if false || true;then echo YES; else echo NO; fi YES $ if false || false;then echo YES; else echo NO; fi NO 范例:⾮运算,即 反 $ if ! false;then echo YES; else echo NO; fi YES $ if ! true;then echo YES; else echo NO; fi NO 可以看出 true 和 false 按照我们对逻辑运算的理解进⾏着,但是为了能够更好的 理解 Shell 对逻辑运算的实现,我们还得弄清楚,true 和 false 是怎么⼯作的? Bash ⾥头的 true 和 false 是我们通常认为的 1 和 0 么? 回答是:否。 范例:返回值 v.s. 逻辑值 true 和 false 它们本⾝并⾮逻辑值,它们都是 Shell 的内置命令,只是它们的返回 值是⼀个“逻辑值” : $ true $ echo $? 0 $ false $ echo $? 1 可以看到 true 返回了 0 ,⽽ false 则返回了 1 。跟我们离散数学⾥学的真值 1 和 0 并不是对应的,⽽且相反的。 范例:查看 true 和 false 帮助和类型 $ help true false true: true eturn a successful result. false: false eturn an unsuccessful result. $ type true false true is a shell builtin false is a shell builtin 说明:$? 是⼀个特殊变量,存放有上⼀次进程的结束状态 (退出状态码)。 从上⾯的操作不难联想到在 C 语⾔程序设计中为什么会强调在 main 函数前⾯加上 int,并在末尾加上 return 0 。因为在 Shell ⾥,将把 0 作为程序是否成功结束的 标志,这就是 Shell ⾥头 true 和 false 的实质,它们⽤以反应某个程序是否正确结 束,⽽并⾮传统的真假值 (1 和 0 ),相反地,它们返回的是 0 和 1 。不过庆幸地 是,我们在做逻辑运算时,⽆须关⼼这些。 条件测试 从上节中,我们已经清楚地了解了 Shell 下的“逻辑值”是什么:是进程退出时的返回 值,如果成功返回,则为真,如果不成功返回,则

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档