How set multiple env variables for a bash command

I am supposed to set the EC2_HOME and JAVA_HOME variables before running a command (ec2-describe-regions)

How do I do that in one go?


Solution 1:

You can one-time set vars for a single command by putting them on the command line before the command:

$ EC2_HOME=/path/to/dir JAVA_HOME=/other/path ec2-describe-regions

Alternately, you can export them in the environment, in which case they'll be set for all future commands:

$ export EC2_HOME=/path/to/dir
$ export JAVA_HOME=/other/path
$ ec2-describe-regions

Solution 2:

If you want to use the environment variables multiple times in the same session you can use:

export VAR1=value1 VAR2=value2 VARN=valueN

If you want to execute a command with multiple variables without affecting the current bash session, you can use:

VAR1=value1 VAR2=value2 VARN=valueN command arg=1