bash:第 146 行:[: 缺少 `] - Gitlab CI/CD

bash:第 146 行:[: 缺少 `] - Gitlab CI/CD

伙计们,所以我试图在我的 CI/CD 的脚本部分中创建这个 if 语句,但它给出了bash: line 146: [: missing]` 错误,我不确定为什么会发生这种情况。

我在 CI/CD 中的脚本:

script:
        - >
            if [ $CI_COMMIT_TAG && $CI_COMMIT_REF_NAME =~ /^v/ ]; then 
                sshpass -e ssh -o StrictHostKeyChecking=no $DOCKER_SSH_USERNAME@$DOCKER_MACHINE "cd /home/$DOCKER_SSH_USERNAME && git clone $GIT_CLONE_URL && cd qcast-vosk-stt/ && chmod +x deploy.sh && ./deploy.sh -i $INSTANCES -e PRODUCTION";
                echo "Inside";
            else 
                sshpass -e ssh -o StrictHostKeyChecking=no $DOCKER_SSH_USERNAME@$DOCKER_MACHINE "cd /home/$DOCKER_SSH_USERNAME && git clone $GIT_CLONE_URL && cd qcast-vosk-stt/ && chmod +x deploy.sh && ./deploy.sh -i $INSTANCES -e DEVELOPMENT"; 
                echo "Elsed";
            fi

管道错误:

$ if [ $CI_COMMIT_TAG && $CI_COMMIT_REF_NAME =~ /^v/ ]; then  # collapsed multi-line command
/usr/bin/bash: line 146: [: missing `]'

答案1

[[ $CI_COMMIT_TAG && $CI_COMMIT_REF_NAME =~ /^v/ ]];

应该可以解决问题。我认为这个警告没有任何问题,但修复它总是好的。

相关内容