Why do i need an eval around a subshell script?

jason apple December 17, 2019

I'm using the ECR credentials task, and have written a small script to push a docker image to ecr.  for some reason, the below command is not successful unless i wrap it in an eval.

$(aws ecr get-login --no-include-email).

eval $(aws ecr get-login --no-include-email)  --- works

The examples i read for ecr did not include this.  I'm ok with it if that's how it has to work, just not entirely clear why.

1 answer

1 accepted

0 votes
Answer accepted
Steffen Opel _Utoolity_
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
December 19, 2019

Hi Jason, welcome to the community!

I'm not exactly a shell expert myself, so please allow me to postpone looking into your actual question in favor of an upfront clarification:

When you say you are 'using the ECR credentials task', do you in fact mean our Amazon ECR Credentials Variables task, or just a regular Bamboo Script task to get the credentials solely via the AWS CLI as outlined in your question?

Cheers,
Steffen

jason apple December 20, 2019

In this case, i'm getting the credentials myself.  I am using the credentials task in other scenarios, just not this one.

If you were in a shell, and just typed what i had without eval, it would work.  It's not a big deal, just trying to understand why.

Like Steffen Opel _Utoolity_ likes this

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events