我有以下内容:
for VAR in "GB" "IE" "DE" "CA" "NY"
do
echo $(STRIPE_$VAR)
done
我正在尝试打印 5 个环境变量 SRIPE_GB、STRIPE_IE 等...
这回来了
zsh: command not found: STRIPE_GB
zsh: command not found: STRIPE_IE
zsh: command not found: STRIPE_DE
zsh: command not found: STRIPE_CA
zsh: command not found: STRIPE_NY
我已经尝试过了
for VAR in "GB" "IE" "DE" "CA" "NY"
do
echo "$(STRIPE_$VAR)"
done
以及其他品种的列表,但似乎无法让它将
$(STRIPE_$VAR)
识别为 $STRIPE_GB
。
如有任何帮助,我们将不胜感激
这是因为您尝试在子 shell 中执行
STRIPE_xx
,因为您在 ()
括号中键入了它。子 shell 将 STRIPE_xx
字符串视为 shell 命令。
删除
()
并尝试像这样进行插值:echo "$STRIPE_$VAR"
或 echo "${STRIPE}_${VAR}"
。