bash脚本失败,需要二进制运算符

bash脚本失败,需要二进制运算符,bash,Bash,我有一个bash脚本,它检查特定的字符串并继续执行,但似乎在使用二进制运算符时出现了一些错误 local artifacts=$(realpath artifacts)/middle-end local env local account_id=${1} local branch_name=${2} local user_environments=${3} local gitlab_user_id=${4} env=$(ci/scripts

我有一个bash脚本,它检查特定的字符串并继续执行,但似乎在使用二进制运算符时出现了一些错误

    local artifacts=$(realpath artifacts)/middle-end
    local env
    local account_id=${1}
    local branch_name=${2}
    local user_environments=${3}
    local gitlab_user_id=${4}
    env=$(ci/scripts/get-details-env.py -m "${user_environments}" -u "${user_id}")

    # Deploy to int1 from develop
    echo "$branch_name"
    if [ "${branch_name}" == "develop" ]; then
      env=brt-int;
    fi
    if [ "${branch_name}" =~ ^brt-rc-.* ]; then
      env=brt-uat;
    fi

    mkdir -p ${artifacts}
    cd middle-end
    ln -s ${NODE_PATH} ./node_modules
    npm run build

我知道您的问题是什么,您必须使用新的测试操作符
[[
[新测试详细信息]

if [[ "${branch_name}" =~ ^atf-rc-.* ]]; then
              env=atf-stage1;
            fi

您还可以通过使用globbing来完全避免正则表达式:
如果[[$ci\u commit\u ref\u name=atf rc-*];那么