转 shell if判断写成一行 和 shell中如何注释掉一段话
#######sample https://www.cnblogs.com/shiyiwen/p/8509417.html
shell if判断写成一行
[[ $? -eq 0 ]] && echo "backup $i success" || exit
#判断上一个命令是否执行正确,退出状态吗如果为0,则执行echo 。否则会认为[[ $? -eq 0 ]] && echo "backup $i success" 这一段执行错误,就会退出
如果命令值返回为空,则输出failed ,否则输出成功
[[ -z `ps -ef|grep weblogic|grep -v grep|awk '{print $2}'` ]] && echo "failed" || echo "backup success"
[[ -z `/usr/openv/volmgr/bin/tpconfig -l| grep DOWN| sed -n '1,6p'` ]] && echo " failed" || echo `hostname` "need check more"
[[ -z `/usr/openv/volmgr/bin/tpconfig -l| grep DOWN| sed -n '1,6p'` ]] && echo " " || echo `hostname`
[[ -z `/usr/openv/volmgr/bin/tpconfig -l| grep DOWN| sed -n '1,6p'` ]] && : || echo `hostname` "need check more driver status"
########sample shell中如何注释掉一段话
http://www.187299.com/archives/1204
: 就是什么也不作(do nothing)即空命令。他的最基本作用就是在if,then条件中。在if语句中各部分必须接执行命令,但有时你不在乎条件是为真(或假)只在乎相反情况。例如如果检测存在某路径什么也不做,不存在就echo报错。可写为
if[ -d $DIRECTORY ]
then : #do nothing
eles
echo “the directory do not exit ”
fi