我想在bash脚本中运行命令mvn clean.但我想把它放在if语句中.如果clean运行不正常,我想用echo语句退出bash脚本.
以下是导致问题的代码:
如果[mvn clean];然后
以下是导致问题的代码:
如果[mvn clean];然后
我尝试将$(mvn clean)放在if语句中,但是有太多的参数说终端.有谁知道这是否可能?谢谢!
这是你想要的:
mvn clean if [ "$?" -ne 0 ]; then echo "Maven Clean Unsuccessful!" exit 1 fi
说明:
> $?是一个special shell variable,它包含最近最近执行的命令的退出代码(无论是否成功终止).
> -ne是测试builtin的选项[.它代表“不平等”.所以我们在这里测试mvn clean的退出代码是否不等于零.
>回应“Maven Clean Unsucccessful!” – 如果是这种情况,那么我们输出一些指示性消息,并使用错误的退出代码退出脚本本身.
当你执行$(mvn clean)时,它会生成一个新的子shell以运行mvn clean,然后简单地将输出到该子shell中的stdout的所有内容从运行mvn clean转储到父shell中使用$(…)的位置.
或者,你可以这样做:
mvn clean || { echo "Maven Clean Unsuccessful"; exit 1; }
这只是做同样事情的简写语法糖.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。