我正在尝试从docker运行以下脚本(基于高山图像)
#!/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))