Bash `export` Komutu Hile Sayfası
Zorluk Seviyesi: Intermediate
export komutu, Bash kabuğunda değişkenleri tanımlamak ve bunları alt süreçlere (child processes) aktarılacak ortam değişkenleri olarak işaretlemek için kullanılır. Bu, bir uygulamanın veya betiğin belirli yapılandırma değerlerine erişebilmesi için hayati öneme sahiptir.
Temel Söz Dizimi ve İşlemler
export komutunun temel kullanım biçimleri ve amaçları aşağıdadır:
export VAR=value # Değişkeni oluşturur ve dışa aktarır
export VAR # Mevcut bir kabuk değişkenini dışa aktarır
export -p # Dışa aktarılmış tüm değişkenleri listeler
export -n VAR # Değişkenin dışa aktarma özelliğini kaldırır
help export # Bash yardımını gösterir
Ortam Değişkenlerini Dışa Aktarma Örnekleri
Değişkenleri alt süreçlere aktarmak için export kullanılır. Bu, özellikle uygulama yapılandırması (örneğin veritabanı bağlantı dizeleri veya ortam ayarları) için gereklidir.
- Tek bir değişkeni dışa aktarma:
export APP_ENV=production - Önce tanımlayıp sonra dışa aktarma:
PORT=8080; export PORT - PATH değişkenini genişletme (önemli bir kullanım):
export PATH="$HOME/bin:$PATH"
İpucu: Bir değişkeni tanımlarken VAR=value şeklinde boşluk bırakmadan yazmaya dikkat edin. Aksi takdirde, Bash bunu bir komut olarak algılayabilir ve değişkeni sadece o komutun ortamına atayabilir, dışa aktaramaz.
Tek Oturum İçin Dışa Aktarma
Aşağıdaki komutlarla yapılan değişiklikler yalnızca mevcut kabuk oturumunuz ve bu oturumdan başlatılan alt kabuklar için geçerlidir. Oturumu kapattığınızda kaybolurlar.
export DEBUG=1
export API_URL=https://api.example.com
# Değişkenin ayarlandığını doğrulama
echo "$DEBUG"
# Alt kabuğun değişkeni miras aldığını doğrulama
bash -c 'echo "Child process sees: $API_URL"'
İşlevleri Dışa Aktarma
Bash, tanımlanan işlevleri de alt Bash kabuklarına aktarabilir. Bu, karmaşık kabuk betiklerini parçalara ayırırken faydalıdır.
# İşlevi tanımla
greet() { echo "Merhaba, ben $USER"; }
# İşlevi dışa aktar
export -f greet
# Alt kabukta çalıştır
bash -c 'greet'
Dışa Aktarmaları Kaldırma veya Sıfırlama
Bir değişkenin artık alt süreçlere aktarılmasını istemiyorsanız, dışa aktarma özelliğini kaldırabilirsiniz.
- Dışa aktarma özelliğini kaldırma (değişkeni tutar):
export -n VAR - Değişkeni tamamen kaldırma:
unset VAR - Dışa aktarılmış bir işlevi kaldırma:
unset -f greet
Değişkenleri Kalıcı Hale Getirme
Değişkenlerin her oturumda otomatik olarak yüklenmesi için, export satırlarını kabuk başlangıç dosyalarına eklemelisiniz:
- Etkileşimli, oturum açmayan kabuklar için:
~/.bashrc - Oturum açma kabukları için:
~/.bash_profile - Sistem genelinde kalıcılık için (root yetkisi gerekir):
/etc/environment
Dosyayı düzenledikten sonra değişiklikleri mevcut oturuma uygulamak için:
source ~/.bashrc


