Bir Değişkeni Dışa Aktarma
Coddy'nin Terminal Journey'sinin Temeller bölümünün bir parçası — ders 63 / 82.
MY_NAME="Alice" gibi bir değişken ayarladığınızda, bu yalnızca mevcut kabuğunuzda bulunur. Bir betik çalıştırırsanız veya başka bir program başlatırsanız, o değişken ona mevcut olmayacaktır. İşte export burada devreye girer.
export komutu bir değişkeni herhangi bir alt sürece erişilebilir kılar, yani mevcut kabuğunuza göre başlatılan programlar veya betikler ona erişebilir:
export MY_NAME="Alice"Mevcut bir değişkeni de dışa aktarabilirsiniz:
MY_NAME="Alice"
export MY_NAMEHer iki yaklaşım da aynı sonucu sağlar. Değişken, sonradan çalıştırdığınız herhangi bir komuta geçirilen ortamın bir parçası haline gelir.
Farkı görmek için, $MY_NAME kullanmaya çalışan bir betik çalıştırmayı düşünün.
Export olmadan, betik hiçbir şey görmez. Export ile, betik değere erişebilir.
Bu yüzden PATH ve HOME gibi sistem değişkenleri varsayılan olarak dışa aktarılır. Çalıştırdığınız her programda mevcut olmaları gerekir.
Bir değişkenin dışa aktarıldığını env çıktısında görünüp görünmediğini kontrol ederek doğrulayabilirsiniz:
env | grep MY_NAMEDışa aktarılan değişkenler terminali kapattığınızda hala kaybolur. Bir sonraki ders, değişkenlerin oturumlar arasında kalıcı olmasını nasıl sağlayacağınızı kapsar.
Görev
KolayPROJECT adında bir değişkeni terminal-course değeriyle dışa aktarın, ardından env çıktısını filtreleyerek yalnızca yeni değişkeninizin gösterilmesini sağlayarak dışa aktarıldığını doğrulayın.
Bu işlemi tek bir satırda export kullanarak değişkeni hem ayarlayıp hem de dışa aktararak yapabilirsiniz, ardından env'i grep üzerinden borulayarak bulun.
Çıktınız şu şekilde olmalıdır:
PROJECT=terminal-courseİpucu: Önce
export PROJECT="terminal-course"komutunu çalıştırın, ardındanenv | grep PROJECTkullanarak ortamda göründüğünü doğrulayın.
Kopya kağıdı
export komutu bir değişkeni alt süreçlere (mevcut kabuktan başlatılan programlar veya betikler) erişilebilir hale getirir:
export MY_NAME="Alice"Mevcut bir değişkeni de dışa aktarabilirsiniz:
MY_NAME="Alice"
export MY_NAMEexport olmadan, değişkenler yalnızca mevcut kabukta bulunur ve çalıştırdığınız betiklere veya programlara erişilemez.
Bir değişkenin dışa aktarılıp aktarılmadığını doğrulamak için, env çıktısında görünüp görünmediğini kontrol edin:
env | grep MY_NAMEDışa aktarılan değişkenler terminali kapattığınızda kaybolur.
Kendin dene
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Dizinler
Bir Dizin OluşturBir Dizin KopyalaBir Dizin Taşı ve Yeniden AdlandırBir Dizin SilÖzet - Dizin İşlemleri7Dosya İçeriği
Head ve TailKelime SayısıSort KomutuUnik KomutuGrep TemelleriBayraklarla GrepÖzet - Metin Dedektifi10Günlük Analizörü Projesi
Proje Genel BakışıGünlük Dosyasını Görüntüleme2Navigasyon
Çalışma Dizini'ni YazdırDosyaları ListeleDizin DeğiştirMutlak ve Göreli YollarEv ve Kök DizinÖzet - Yolunu Bul8Yönlendirme
Standart ÇıktıDosyaya Üzerine YazmaDosyaya EklemeStandart GirdiStandart HataÖzet - Günlük Oluşturucu3Dosyalar
Bir Dosya OluşturBir Dosya OkuBir Dosya KopyalaBir Dosyayı Taşı ve Yeniden AdlandırBir Dosya SilÖzet - Dosya İşlemleri6Joker Karakterler ve Desenler
Yıldız Joker KarakteriSoru İşareti Joker KarakteriKöşeli Parantez JokerleriJoker Karakterleri BirleştirmeÖzet - Seçici İşlemler9Borulama
Boru Nedir?İki Komutu ZincirlemeBirden Fazla Komutu ZincirlemeGrep ile BoruÖzet - Veri Boru Hattı12Ortam
Ortam DeğişkenleriTüm Değişkenleri GörüntülePATH DeğişkeniBir Değişken AyarlamaBir Değişkeni Dışa AktarmaProfil DosyasıÖzet - Özel Ortam