source 命令未使用 shell 脚本将变量导出到 zsh 环境

Arb*_*zar 5 linux bash shell zsh oh-my-zsh

我有一个非常简单的 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)
Run Code Online (Sandbox Code Playgroud)

我正在这样运行这个脚本:

source myscript.sh
Run Code Online (Sandbox Code Playgroud)

或者

. ./myscript.sh
Run Code Online (Sandbox Code Playgroud)

请指教,我怎样才能让它在 zsh 环境下工作?

use*_*428 0

您发布的代码没有任何问题。

您的变量是否在采购脚本中根本未定义,或者已定义但未导出?

我会在采购之前打开set -x并分析输出。也许您的源脚本中有一些命令,其中 bash 和 zsh 的行为有所不同。从您发布的三行来看,我没有看到任何不兼容的地方。