三目运算符
if command1;then
if command2;then
if command3;then
command4
else
echo "error"
fi
else
echo "error"
fi
else
echo "error"
fi
commad1 && command2 && command3 && command4 || echo "error"
条件判断
- 如果双中括号中有一个条件成立,就执行
echo "hello"
命令。
[[ $(uname -r) == "4." || $(uname -r) == "3.1" || $(uname -r) == "5.22" ]] && (echo "hello")
- 业务需求是不允许当前用户是
root
。
[[ "$(whoami)" != "root" ]] || echo "Don't use root account, exit!"
- 目录是否存在,如果存在为真,如果不存在就创建。
[[ -d /data ]] || mkdir /data
[ ; ]
如果被分号(;)所分隔的命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令。
[root@localhost etc]# lld ; echo “ok” ; lok
-bash: lld: command not found
ok
-bash: lok: command not found
[ && ]
如果命令被 && 所分隔,那么命令也会一直执行下去,但是中间有错误的命令存在就不会执行后面的命令,没错就直行至完为止。
[root@localhost etc]# echo “ok” && lld && echo “ok”
ok
-bash: lld: command not found
[ || ]
如果每个命令被双竖线 || 所分隔,那么一遇到可以执行成功的命令就会停止执行后面的命令,而不管后面的命令是否正确与否。如果执行到错误的命令就是继续执行后一个命令,一直执行到遇到正确的命令为止。
[root@localhost etc]# echo “ok” || echo “haha”
ok
[root@localhost etc]# lld || echo “ok” || echo “haha”
-bash: lld: command not found
ok
————————————————
版权声明:本文为CSDN博主「空白_回忆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_26291823/article/details/80093565