我的 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 shell 从我的旧笔记本电脑复制过来的,因此我尝试将它们迁移到 zsh。
答案1
问题出在你的if
条件上。您应该只使用一个=
,或者也可以使用[[ condition ]]
.
if [[ $1 == "prod" ]];
then
PREFIX='https://PROD_URL'
fi
或者:
if [ "$1" = "prod" ];
then
PREFIX='https://PROD_URL'
fi