免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4493 | 回复: 2
打印 上一主题 下一主题

[其他] 求教:bash 多重if条件如何设定 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-13 19:01 |只看该作者 |倒序浏览
请问下面的条件如何书写啊?
1. a, b, c 同时为真的时候返回真
2. a 假 并且 c 真的时候返回真

if [ $a = "true" && $b = "true" || $a = "false"] && [ $c = "true" ]

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
2 [报告]
发表于 2012-11-13 19:25 |只看该作者
你说了半天, 不是 只有 C为真 就真了么?

论坛徽章:
0
3 [报告]
发表于 2012-11-13 20:01 |只看该作者
本帖最后由 udevu 于 2012-11-13 20:02 编辑

回复 1# wl189
应该是a b c 真值表为 1 0 1的时候不是真吧? LZ 是这个意思吗
  1. #!/bin/sh
  2. #
  3. a=$1
  4. b=$2
  5. c=$3
  6. if [[ ! ( $a = "true" && $b = "false" && $c = "true" ) ]]
  7. then
  8.     echo $a $b $c
  9.     echo "yes"
  10. else
  11.     echo $a $b $c
  12.     echo "no"
  13. fi
复制代码
$ cat if_table|while read line; do echo $line |xargs sh if.sh ; done
true true true
yes
true true false
yes
true false true
no
true false false
yes
false true true
yes
false true false
yes
false false true
yes
false false false
yes
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP