Bagaimana mengatur beberapa variabel env untuk perintah bash

109

Saya seharusnya mengatur variabel EC2_HOME dan JAVA_HOME sebelum menjalankan perintah (ec2-mendeskripsikan-wilayah)

Bagaimana cara melakukannya sekaligus?

SamLosAngeles
sumber

Jawaban:

165

Anda dapat mengatur vars satu kali untuk satu perintah dengan meletakkannya di baris perintah sebelum perintah:

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

Sebagai alternatif, Anda dapat mengekspornya di lingkungan, dalam hal ini mereka akan disetel untuk semua perintah di masa mendatang:

$ export EC2_HOME=/path/to/dir
$ export JAVA_HOME=/other/path
$ ec2-describe-regions
Chris Dodd
sumber
7
Perhatikan bahwa, meskipun tampak tidak biasa, Anda juga dapat menulis export EC2_HOME=/path JAVA_HOME=/path.
William Pursell
4
Opsi satu kali cukup berguna dalam skrip. Hanya catatan bagi siapa saja yang perlu menjalankan perintah sebagai root atau pengguna lain, variabel harus muncul setelah sudo atau pengguna. Misalnyasudo -u somebody CVSROOT=:ext:[email protected]:/usr/local/ncvs CVS_RSH=ssh cvs co my/dir/ancient-file.py
Nagev
Apakah ada batasan jumlah variabel yang dapat Anda berikan melalui prapenawaran?
Sam Thomas
Hanya batas panjang baris perintah maksimum, yang cukup besar di linux.
Chris Dodd
2

Seperti sistem * nix lainnya, Anda dapat menambahkan fungsi sebagai berikut di file .bashrc Anda di bawah direktori HOME.

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

Sekarang, Anda dapat memulai program Anda dengan perintah berikut:

startec2
gzh
sumber
4
Sejauh yang saya tahu, ini hanya membuat variabel bash dan tidak akan berfungsi.
TNW