Bir bash komutu için birden çok env değişkeni nasıl ayarlanır?


110

Bir komutu çalıştırmadan önce EC2_HOME ve JAVA_HOME değişkenlerini ayarlamam gerekiyor (ec2-define-bölgeleri)

Bunu tek seferde nasıl yaparım?

Yanıtlar:


166

Komuttan önceki komut satırına yerleştirerek tek bir komut için tek seferlik değişkenler ayarlayabilirsiniz:

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

Alternatif olarak, bunları ortama aktarabilirsiniz, bu durumda gelecekteki tüm komutlar için ayarlanacaklardır:

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

7
Nadir görünse de yazabileceğinizi de unutmayın export EC2_HOME=/path JAVA_HOME=/path.
William Pursell

4
Tek seferlik seçenek, komut dosyalarında oldukça kullanışlıdır. Komutu root veya başka bir kullanıcı olarak yürütmesi gereken herkes için bir not, değişkenler sudo veya kullanıcıdan sonra gelmelidir . Örneğinsudo -u somebody CVSROOT=:ext:somebody@12.18.127.22:/usr/local/ncvs CVS_RSH=ssh cvs co my/dir/ancient-file.py
Nagev

Önceden ekleyerek sağlayabileceğiniz değişkenlerin sayısı için bir sınır var mı?
Sam Thomas

Linux'ta oldukça büyük olan maksimum komut satırı uzunluğu sınırı.
Chris Dodd

2

Diğer * nix sistemlerinde olduğu gibi, HOME dizininizin altındaki .bashrc dosyanıza aşağıdaki gibi işlev ekleyebilirsiniz.

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

Şimdi, aşağıdaki komutla programınızı başlatabilirsiniz:

startec2

4
Bildiğim kadarıyla, bu sadece bash değişkenleri yaratıyor ve çalışmayacak.
TNW
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.