точка входа. sh - строка 9: синтаксическая ошибка: неожиданно "(" - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь запустить следующий скрипт из 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 "("

Я не уверен, как разрешить эту синтаксическую ошибку. Любая помощь приветствуется.

1 Ответ

2 голосов
/ 27 февраля 2020

<(...) - расширение bash, оно недоступно в /bin/sh. Он вам не нужен для вашего скрипта, вы должны использовать $(...) там.

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