Проверьте, пуста ли переменная или не установлена - PullRequest
0 голосов
/ 05 августа 2020

У меня есть следующий сценарий оболочки:

#!/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 или пусто?

1 Ответ

0 голосов
/ 07 августа 2020

Вы можете попробовать:

if [ "$LC_CODE" == "" ]; then
  echo "Exit"
  exit 1
fi

Я думаю, ваша переменная установлена, но строка пуста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...