11.04 Ubuntu çalıştırıyorum. Bir bash oturumu başlatmak için terminali kullanıyorum ve bir ortam değişkeni eklemek istiyorum:
$r@hajt:~$ env THEVAR=/example
Ama işe yaramıyor. Sonuncusu olan THEVAR ile tüm değişkenleri gösterir, ancak başka bir çağrı env göstermiyor THEVAR artık- env | grep THEVAR hiçbir şey döndürmez.
Benzer şekilde, dışa aktarmalı komut dosyaları (export THEVAR=/example) veya diğer değişken atamaları (THEVAR=/example) ortam değişkenini eklemeyin.
Yanlış bir şey yaptığımı biliyorum, basit bir şey olması gerektiğini biliyorum ama ne olduğunu bulamıyorum.
Ortam değişkenini bir kez ayarlamak için export komut isteminde, kabuk komut dosyasında değil:
$ export THEVAR=/example
Değişken, kabuk oturumunun geri kalanı için veya ayarlanana kadar ayarlanır.
Her seferinde bir ortam değişkeni ayarlamak için export komut içinde .bashrc dosya (veya kabuğunuz için uygun başlatma dosyası).
Bir komut dosyasından bir ortam değişkeni ayarlamak için export komut dosyasında komut ve sonra source komut. Komut dosyasını çalıştırırsanız çalışmaz.
Komut dosyası tamamlandıktan sonra ortam / var değişikliklerinin devam etmesini sağlamak için aşağıdakileri kullanmanız gerekirsource ./script.sh veya kaynak için steno gösterimi, ".", istemek . ./script.sh
Source, komut dosyasındaki komutları yazdığınız gibi yürütür... yani senaryoyu görünümünü, çıkış olarak değiştirin... yani eğer komut dosyanız bir şeyi kontrol ederse ve false ise, örneğin arama yoluyla çıkmaya karar verirse exit 0, geçerli terminal / kabuk oturumunuzu sonlandırır.
Oldukça geç olduğunu biliyorum, ancak tüm kullanıcılar için bir ortam değişkeni eklemek istiyorsanız (örneğin JAVA kullanımı) - aşağıdakileri yapabilirsiniz:
1) Açık /etc/bash.bashrc nano'yu kullanarak (herhangi bir düzenleyiciyi kullanabilirsiniz, kullanıcı dostu olması söz konusu olduğunda en kötüsü olduğu için vim'i tercih etmiyorum - kişisel bir şey değil).
2) Dosyaya ekle:
export VAR=path export PATH=$PATH:/bin3) (Kutuyu zıplatabilirseniz daha iyi olur) - ya da sadece yeni bir SSH oturumu açın ve `env' komutunu kullanarak onaylayın.
ANCAK, her kullanıcının bunun için ayrı bir ayara sahip olmasını istiyorsanız, bir değişiklik yapmanız gerekir (komut dosyası) .bashrc dosya altında ~/.bashrc (veya /home/$USER/ linux sistemlerinde yeniyseniz)
Komut dosyası aracılığıyla bir şeyler yapıyorsanız, ortam değişkenini kalıcı olarak ayarlamanın kolay bir yolu, komut dosyanızdaki ifadenin altına konur,
if [[ ! -d "$MyVar" ]]; then export MyVar="abc" echo 'export MyVar="abc"' >> ~/.bashrcfi
Pwd gibi ifadeleri değerlendirmeniz gerekiyorsa, bunu kullanabilirsiniz, örneğin,
Ubuntu veya herhangi bir Unix tabanlı sistem kullanıyorsanız, değişkenleri dışa aktarın ~/.bashrc dosya. Bu gizli bir dosyadır ve oraya terminalden veya dosya sistemindeki gizli dosyaları göstererek ulaşabilirsiniz.
Ardından dosyayı düzenleyin ve ayarlayın export THEVAR=/example işte, kurtar ve bitti.