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 shell 從我的舊筆記型電腦復製過來的,所以我正在嘗試將它們遷移到 zsh。
問題在於你的
if
情況。您應該只使用一個=
,或者您也可以使用[[ condition ]]
.if [[ $1 == "prod" ]]; then PREFIX='https://PROD_URL' fi
或者:
if [ "$1" = "prod" ]; then PREFIX='https://PROD_URL' fi