我正在使用Go的自定义命令来执行一个shell脚本。问题是,如果脚本因任何原因失败,构建仍然成功。如果我的shell脚本中出现错误,如何使构建失败?自定义命令失败时在Go中失败构建
2
A
回答
3
安排在脚本中的逻辑,这样如果脚本失败,它退出的exit code> = 1
#!/bin/bash
N=0
#do your logic here and increment N for each failure.
ls /non/existent/dir || {
echo "can't ls /non/existent/dir"
N=$((N+1))
}
#do something else
echo "we had $N errors"
exit N
相反,如果你想快速失败
#!/bin/bash
ls /non/existent/dir || {
echo "can't ls /non/existent/dir"
exit 1
}
对于每个外壳CMD你可以看到退出代码...
echo $?
+0
不错的解决方案,但是......我现在有这个问题,即使我有一个只有shebang和'exit 1'的空脚本,它仍然会成功......让这台PC上的代理发生火灾CYGWIN中的脚本像预期的那样,但是这可能是因为这个绕行的地方吞下了退出代码吗? – helmesjo 2017-05-21 12:06:06
相关问题
- 1. Cordova构建命令失败
- 2. 命令失败
- 3. 错误:org.gradle.internal.UncheckedException:构建命令失败
- 4. 如何在Maven构建失败时显示自定义消息
- 5. cURL命令失败
- 6. SSH2_EXEC()命令失败
- 7. Powershell命令失败
- 8. wkhtmltopdf命令失败
- 9. SQL命令失败
- 10. 构建自Github失败
- 11. AngularJs多个自定义指令失败
- 12. 在TFS中构建失败
- 13. 构建失败,消息“processF0F1DebugResources失败”
- 14. 运行自定义poweshell脚本时,TFS构建失败
- 15. @Repository的自定义失败
- 16. 自定义getEntityNameSelectList()失败
- 17. 自定义操作失败
- 18. 自定义验证失败
- 19. octo.exe命令失败并不是失败的竹子构建任务
- 20. 构建失败,“命令失败,一个非零的退出代码”
- 21. Fitnesse在Cruisecontrol.net执行:测试失败时不会失败构建
- 22. 在单个单元测试失败时失败TFS构建
- 23. 错误提交Codename一个构建,Parse4cn1构建命令失败
- 24. TeamCity命令行构建运行器:如何使构建失败?
- 25. Hyperledger结构“make peer”命令失败
- 26. 当BCP失败时,Perl系统()命令不会返回失败
- 27. 如何在命令失败时退出?
- 28. Gradlew构建失败
- 29. Cordova构建失败
- 30. IBDesignables - 构建失败
我的答案是否适合您? – jeremyjjbrown 2015-03-10 02:09:50