我有一个非常简单的 shell 脚本,它在 bash 上运行得非常好,并将变量导出到当前的 bash 环境,但不幸的是它没有将变量导出到 zsh 环境。
#!/bin/bash
export AWS_ACCESS_KEY_ID=$(echo $RESULT | jq --raw-output .Credentials.AccessKeyId)
export AWS_SECRET_ACCESS_KEY=$(echo $RESULT | jq --raw-output .Credentials.SecretAccessKey)
export AWS_SECURITY_TOKEN=$(echo $RESULT | jq --raw-output .Credentials.SessionToken)
我正在像这样运行这个脚本:
source myscript.sh
或
. ./myscript.sh
请指教,我怎样才能让它在 zsh 环境下工作?
最佳答案
您发布的代码没有任何问题。
您的变量是在采购脚本中根本没有定义,还是已定义但未导出?
我会在采购之前打开 set -x
并分析输出。也许您的源脚本中有一些命令,其中 bash 和 zsh 的行为不同。从您发布的三行代码中,我没有看到任何不兼容性。
关于linux - source 命令没有使用 shell 脚本将变量导出到 zsh 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36117930/