У меня есть следующий сценарий оболочки:
#!/bin/sh
echo "Run APP deployment $LC_APP_URL"
LC_CODE=$(
docker run --rm --name argocd-test \
-e DO_AC=$DO_AC \
-e K8S_CLUSTER=k8s-databaker-io \
-e ARGO_SERVER=cd.databaker.io \
-e ARGO_USERNAME="$ARGO_USERNAME" \
-e ARGO_PW="$ARGO_PW" \
-e IMAGE_URL=hub.databaker.io/ui/argo-ui-test \
-e IMAGE_VERSION=0.1.2 \
-e CHARTS_URL=gitlab.com/databaker.io/charts.git \
-e GITOPS_URL=gitlab.com/databaker.io/gitops.git \
-e APP_TYPE=ui \
-e APP=argo-ui-test \
-e APP_URL="$LC_APP_URL" \
-e APP_TLS_SECRET="dev-cert-staging" \
-e GIT_USER="$GIT_USER" \
-e GIT_AT=$GIT_AT \
-e NAMESPACE=dev \
"$LC_IMAGE_NAME" /sh/main.sh
echo $?
)
echo "????????????????????????? $LC_CODE"
if [ -z "$LC_CODE" ]; then
echo "Exit"
exit 1
fi
if [ "$LC_CODE" -ne 0 ]; then
echo "Run deployment failed"
exit 1
fi
Это должно go в if [ -z "$LC_CODE" ];
выражение и напечатать Exit
. $LC_CODE
пусто, потому что оператор echo "????????????????????????? $LC_CODE"
показывает ?????????????????????????
.
Как проверить, установлено ли $LC_CODE
или пусто?