web-dev-qa-db-fra.com

Comment définir plusieurs variables env pour une commande bash

Je suis censé définir les variables EC2_HOME et Java_HOME avant d'exécuter une commande (ec2-describe-regions)

Comment puis-je faire cela en une fois?

84
SamLosAngeles

Vous pouvez définir une fois les vars pour une seule commande en les plaçant sur la ligne de commande avant la commande:

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

Vous pouvez également les exporter dans l'environnement. Dans ce cas, elles seront définies pour toutes les commandes futures:

$ export EC2_HOME=/path/to/dir
$ export Java_HOME=/other/path
$ ec2-describe-regions
128
Chris Dodd

Comme tout autre système * nix, vous pouvez ajouter les fonctions suivantes dans votre fichier .bashrc sous votre répertoire HOME.

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

Maintenant, vous pouvez démarrer votre programme avec la commande suivante:

startec2
2
gzh