How set multiple env variables for a bash command

LinuxBashCygwin

Linux Problem Overview


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?

Linux Solutions


Solution 1 - Linux

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 - Linux

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

Solution 3 - Linux

As other *nix system, you can add function as following in your .bashrc file under your HOME directory.

function startec2(){
    export EC2_HOME=/path/to/dir
    export JAVA_HOME=/other/path 
    ec2-describe-regions
}

Now, you can start your program by the following command:

startec2

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSamLosAngelesView Question on Stackoverflow
Solution 1 - LinuxChris DoddView Answer on Stackoverflow
Solution 2 - LinuxMauricio SánchezView Answer on Stackoverflow
Solution 3 - LinuxgzhView Answer on Stackoverflow