1 Preface/Foreword
set命令用于shell脚本在执行命令时候,遇到异常的处理机制。
2 Usage
2.1 set -e
当执行命令过程中遇到异常,那么就退出脚本,不会往下执行其它命令。
#!/bin/bash
#set -e
rootGIT_TAG=${CI_BUILD_TAG-NOTAG}
GIT_REV=$(git rev-parse --short HEAD)
GIT_DATE=(date +%y%m%d -d@(git show -s --format=%ct HEAD))
CI_PIPELINE_ID=${CI_PIPELINE_ID-0}
if [ $GIT_TAG == "NOTAG" ]; then
APP_FIRMWARE_VERSION={GIT_TAG}-{GIT_DATE}-{CI_PIPELINE_ID}-{GIT_REV}
else
APP_FIRMWARE_VERSION=${GIT_TAG}
fi
echo -n ${APP_FIRMWARE_VERSION}

NOTE:遇到命令错误,仍然会继续往下执行。
#!/bin/bash
set -e
rootGIT_TAG=${CI_BUILD_TAG-NOTAG}
GIT_REV=$(git rev-parse --short HEAD)
GIT_DATE=(date +%y%m%d -d@(git show -s --format=%ct HEAD))
CI_PIPELINE_ID=${CI_PIPELINE_ID-0}
if [ $GIT_TAG == "NOTAG" ]; then
APP_FIRMWARE_VERSION={GIT_TAG}-{GIT_DATE}-{CI_PIPELINE_ID}-{GIT_REV}
else
APP_FIRMWARE_VERSION=${GIT_TAG}
fi
echo -n ${APP_FIRMWARE_VERSION}

NOTE:遇到错误,直接退出。