entrypoint.sh - line 9: syntax error: unexpected "("

entrypoint.sh - line 9: syntax error: unexpected "("

我正在尝试 运行 来自 docker 的以下脚本(基于 alpine 图像)

#!/bin/sh

echo "test"

export USERNAME="AQICAHj456mvH8iSJofL46Xtr7KP6Ng3Vn5k6BpZbkAAAAZTBjBgkqhkiG9w0BBwagVjBUAgEAME8GCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMwCm8C+wSLRm/+sSuAgEQgCJHCFbrIwCQuH0x2iGp13j9SuxMtfrcE6c4SmrHRVkkX24f"
export AWS_REGION="us-east-1"
echo "$AWS_REGION"

decrypt=$(aws kms decrypt --ciphertext-blob fileb://<(echo "$USERNAME" | base64 -d))
export $key="$(echo $decrypt | jq .Plaintext -r | base64 -d)"

exec "$@"

我得到以下输出

test
us-east-1
/bin/entrypoint.sh: line 9: syntax error: unexpected "("

我不确定如何解决这个语法错误。感谢任何帮助。

<(...) 是一个 bash 扩展,它在 /bin/sh 中不可用。你的脚本不需要它,你应该在那里使用 $(...)

decrypt=$(aws kms decrypt --ciphertext-blob fileb://$(echo "$USERNAME" | base64 -d))