Я пытаюсь запустить скрипт, и экспорт bash выводит текст, когда я этого не хочу, потому что он разбивает вывод. Мне нужно запустить скрипт, который извлекает некоторую информацию, а затем вставляет ее в следующую среду команд, что-то вроде получения секретов AWS для awscli и прозрачной передачи их в среду aws. Я получаю противоречивые результаты, и я не знаю, почему
$ ./bin/aws-creds имитация
AWS_ACCESS_KEY_ID=макет1234
AWS_SECRET_ACCESS_KEY=макет1234
AWS_CREDS=успех
$ ddt aws-creds mock
AWS_ACCESS_KEY_ID=макет1234
AWS_SECRET_ACCESS_KEY=макет1234
AWS_CREDS=успех
Оба выводят одинаково, и это здорово, поэтому давайте попробуем запустить их и использовать экспорт на выходе.
$ export $(./bin/aws-creds mock)
$ экспорт $ (макет ddt aws-creds)
AWS_ACCESS_KEY_ID=макет1234
AWS_SECRET_ACCESS_KEY=макет1234
AWS_CREDS=успех
объявлять -x .... куча лишних вещей из моего окружения
Подожди секунду? Обе команды при экспорте с использованием подоболочки $(...), кажется, делают разные вещи, и это то, что я хочу исправить. Я хочу, как первый скрипт ./bin, без вывода, но все новые параметры вставлены в среду оболочки. Кажется, что сценарий, который я написал «ddt», по какой-то причине не работает так же.
Может ли кто-нибудь объяснить, почему и, возможно, предложить какой-то способ исправить это?