zsh 함수에서 위치 매개변수를 얻는 방법은 무엇입니까?

zsh 함수에서 위치 매개변수를 얻는 방법은 무엇입니까?

내 zshrc에는 다음과 같이 정의된 함수가 있습니다.

function k8sapi() {
    PREFIX='https://STABLE_URL'
    if [ "$1" == "prod" ];
    then
        PREFIX='https://PROD_URL'
    fi

    echo "1 --> $1"
    echo "2 --> $2"
    curl -s "${PREFIX}/${2}"
}

내가 이것을 실행할 때 :

$ k8sapi stable foo
k8sapi:2: = not found

내가 뭘 잘못했나요? zsh에서 함수의 매개변수를 보는 방법은 무엇입니까?

이 기능은 bash 쉘을 사용하여 이전 노트북에서 복사되었으므로 zsh로 마이그레이션하려고 합니다.

답변1

문제는 당신의 if조건입니다. 하나만 사용해야 합니다 . =그렇지 않으면 을 사용할 수 있습니다 [[ condition ]].

 if [[ $1 == "prod" ]];
 then
    PREFIX='https://PROD_URL'
 fi

또는:

 if [ "$1" = "prod" ];
 then
    PREFIX='https://PROD_URL'
 fi

관련 정보