系统相关
首页 > 系统相关> > 一行代码实现shell if else逻辑

一行代码实现shell if else逻辑

作者:互联网

前言

前几天学习 shell 脚本,发现这种好用的写法,简单记录一下。

if else 一行实现

if [ 1=1 ] ;then echo "条件成立";else echo "条件不成立"; fi

关键点就在在代码块分支逻辑间位置加上;就可以实现逻辑写到一行

|| && 实现if else逻辑

wenshuo.wang@LG-H2-SD-114-36:~$ function test 
> { 
> echo 1 
> } 
wenshuo.wang@LG-H2-SD-114-36:~$ test && echo "条件成立" || echo "条件不成立"
1 
条件成立

利用 && 和 || 判断逻辑顺序实现if else逻辑,当 test 返回值为1,则执行 并且 逻辑,如果返回为0 则执行 逻辑。

这里利用函数,主要是if逻辑不能作为执行语句从而获得返回值。

不过这里有两个问题:

  1. 输出了函数返回值
  2. 每次判断逻辑声明一个函数反而臃肿

针对第一个问题可以修改为:

wenshuo.wang@LG-H2-SD-114-36:~$ test &>/dev/null && echo "条件成立" || echo "条件不成立"
条件成立

针对第二个问题,可以使用 expr命令:

wenshuo.wang@LG-H2-SD-114-36:~$ expr 1 = 1 &>/dev/null && echo "条件成立" || echo "条件不成立" 
条件成立 
wenshuo.wang@LG-H2-SD-114-36:~$ expr 1 = 2 &>/dev/null && echo "条件成立" || echo "条件不成立" 
条件不成立

expr 同样也可以判断字符串是否相等,也可以判断数值大小,可以满足所有判断条件

标签:逻辑,shell,wang,代码,echo,&&,条件,成立,else
来源: https://www.cnblogs.com/Hellowshuo/p/16345724.html