bash - Octopus Runbook 似乎忽略了 bash 退出代码
问题描述
我可能遗漏了一些明显的东西......
在简单的部署后检查中添加一些轻型自动化
但我无法获得失败的退出代码以使 Runbook 运行失败
我错过了什么?
url=$(get_octopusvariable "SmokeTestURL")
statusCode=$(curl -X POST \
--silent \
--output /dev/null \
--write-out "%{http_code}" \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data "..." \
$url)
echo $statusCode
exitStatus=$(if [ $statusCode=200 ]; then echo 0; else echo 1; fi)
exit $exitStatus
解决方案
if [ $statusCode=200 ];
我认为这里的空格是强制性的。此外,您应该使用引号,以防 $statusCode 为空或包含空格。
您也可以使用更短的代码:
[ "$statusCode" = "200" ] && exit 0 || exit 1
推荐阅读
- python - 为什么 tox 不使用 pyenv python 解释器?
- python - 了解 Python3 标准输出缓冲到管道
- python - 如何编写数据框的python字典来分隔excel工作簿
- javascript - 更新显示的数字以匹配其在纯 javascript 中的元素顺序中的位置
- arm-template - 从 adf_publish ARM 模板中删除集成运行时资源及其依赖项
- javascript - 不能混合不同版本的 joi 模式
- javascript - Thingsboard 小部件开发:如何将设备的日常遥测数据存储在数组中?
- powershell - Powershell 脚本:找不到 Microsoft.office.interlop.Wdsaveformat
- java - 如果选中单选按钮,则在 Java 中显示一个文本框
- sql-server - 我想从我的表中删除临时表中不存在的记录