UNIX dışa aktarma komutu [kapalı]


158

exportKomut kullanımını anlamaya çalışıyorum .

Kullanmayı denedim man export, ancak bu komut için manuel yok.

Birisi exportUNIX'te kullanımını anlamama yardımcı olabilir mi?


bunun için bir man sayfası olmaması son derece garip. Ben de görmüyorum.
Pinokyo

Yanıtlar:


226

Bir programı yürüttüğünüzde, alt program ortam değişkenlerini üst öğeden devralır. Örneğin üst öğede $HOMEolarak ayarlanırsa /root, çocuğun $HOMEdeğişkeni de ayarlanır /root.

Bu yalnızca dışa aktarma için işaretlenmiş ortam değişkeni için geçerlidir. Komut satırında aşağıdaki gibi bir değişken ayarlarsanız,

$ FOO="bar"

Bu değişken alt süreçlerde görünmez. Dışa aktarmadığınız sürece değil:

$ export FOO

Bu iki ifadeyi bash'ta tek bir ifadeyle birleştirebilirsiniz (ancak eski okul sh'de değil):

$ export FOO="bar"

Aşağıda, dışa aktarılan ve dışa aktarılmayan değişkenler arasındaki farkı gösteren hızlı bir örnek verilmiştir. Neler olduğunu anlamak için sh -c, ana kabuğun ortamını devralan bir çocuk kabuğu süreci yaratır.

$ FOO=bar
$ sh -c 'echo $FOO'

$ export FOO
$ sh -c 'echo $FOO'
bar

Not: Kabuk yerleşik komutları hakkında yardım almak için kullanın help export. Kabuk yerleşikleri, bağımsız yürütülebilir dosyalar yerine kabuğunuzun bir parçası olan komutlardır /bin/ls.


16

Unix

Env, set ve printenv komutları tüm ortam değişkenlerini ve değerlerini görüntüler. env ve set ayrıca ortam değişkenlerini ayarlamak için kullanılır ve genellikle doğrudan kabuğa dahil edilir. printenv, komutun tek bağımsız değişkeni olarak bu değişken adını vererek tek bir değişkeni yazdırmak için de kullanılabilir.

Unix'te aşağıdaki komutlar da kullanılabilir, ancak genellikle belirli bir kabuğa bağımlıdır.

export VARIABLE=value  # for Bourne, bash, and related shells
setenv VARIABLE value  # for csh and related shells

Sen bir göz olabilir bu en


4
StackOverflow'a hoş geldiniz. Klasik Bourne kabuğunun bir VARIABLE=value; export VARIABLEkerede atamak ve dışa aktarmak yerine şunları gerektireceğini unutmayın . setC Shell komut yerine ortam değişkenleri daha kabuk değişkenleri için olduğu; setenv'nin karşılığıdır export. setBourne türevi kabuklarında komutu tüm değişkenler, sadece dışa (ortam) değişkenleri basar. Tarihsel olarak, en azından, envkomut, yerleşik olarak kolayca oluşturulabilmesine rağmen, kabuktan ayrıdır (yerleşik değil). Ortamı, çalıştıran kabuk için değil, belirli bir komut için ayarlar.
Jonathan Leffler


0

exportortam değişkenlerini ayarlamak için kullanılır. Örneğin:

export EDITOR=pico

Varsayılan metin düzenleyicinizi picokomut olarak ayarlar .

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.