JoeBro391
JoeBro391

Reputation: 15

AWS CLI Commands not setting ENV Variables with Bash Script

So I have created a very simple Shell Script. All it does it set 3 ENV variables for AWS so that I can send a .csv file to S3 in a separate script.

#!/usr/bin/env bash
export AWS_DEFAULT_REGION=us-east-1
export AWS_SECRET_ACCESS_KEY=ksjdnkjsdnfkjsndfksjnfd
export AWS_ACCESS_KEY_ID=kjsdnfkjsndfkjsndfkjsdn

The SECRET KEY and KEY_ID have been changed for this post, just so we're clear

But for some reason, when I run this Shell Script, nothing seems to happen at all. When I run the ENV command, none of the variables are set. HOWEVER, when I copy and paste each command into my terminal individually, it sets the variable without issue. And then I am able to send my .csv file to S3 without issue.

I feel like I'm doing something extremely trivial that's causing the script to simply not run the commands.

Any ideas?

System: Raspberry Pi 3 Release: 10

-Joe

Upvotes: 0

Views: 624

Answers (1)

drewk
drewk

Reputation: 116

If you're just executing your script ./myscript.sh, the environment variables won't be set in your shell just the subshell it executes in.

You can execute your script with a "dot space script" syntax or use source. Both of which will execute the script in the current shell instead of launching a subshell.

. myscript.sh
source myscript.sh

Upvotes: 1

Related Questions