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?

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

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:somebody@12.18.127.22:/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

4
Sejauh yang saya tahu, ini hanya membuat variabel bash dan tidak akan berfungsi.
TNW
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.