Skip to content

Instantly share code, notes, and snippets.

@oguzhangedik
Last active January 8, 2020 07:31
Show Gist options
  • Save oguzhangedik/2f19de8ec3b8623439bd9e1810385cbe to your computer and use it in GitHub Desktop.
Save oguzhangedik/2f19de8ec3b8623439bd9e1810385cbe to your computer and use it in GitHub Desktop.
Bunun mantığını kavramak için bash ten başliycam.
Bash bir komut dili yorumlayıcısıdır. Bir Mac OS te bir terminal başlattığımızda, aslinda bir bash process başlatıyoruz
demektir.
bash_profile aslında bir komut dizisi dosyasıdır. Ne zaman bir terminal başlatsak, ilk olarak Mac OS te bulunan (öğrendiğim kadarıyla
home dizininin altında bulunuyormuş.) bash_profile dosyasının içindeki komutlar çalışır.
$ touch ~/.bash_profile && open ~/.bash_profile
komutu ile bash_profile dosyası TextEdit gibi uygun bir text editör de açılır ve içinde neler olduğunu görüntüleyebiliriz.
Ref : https://medium.com/@ardasnturk/react-native-kurulumu-mac-6a7c95896278
Bu bilgiyi izah etmemin sebebi aslında environment variables dediğimiz global değişkenleri burada tanımlıyor ve burada
tanımladığımız birçok paketin içindeki komutları bu şekilde kullanabiliyor olmamızdır. Çünkü her terminal açıldığında
bash yorumlayıcısı çalışır. Bu çalışmaya başladığında ilk olarak bash_profile dosyasını okur ve orada tanımlanan komutları
çalıştırır. Bu şekilde mesela biz bir global değişlken tanımladıysak orda, terminal açıldığında direk kullanıma hazır hale
gelmiştir demiştir. Ya da içinde bir çok komut setlerinin bulunduğu bir paketi $PATH değişkenine set ettiğimizde, artık
o paketin içindeki tüm komutlar, kullanıma hazır hale gelmiş demektir. Bir örnek üzerinden gidersek mesela
export PATH=~/.npm-global/bin:$PATH
komutunu ele alalım. Bu komutta npn-global isimli bir paket var ve bu paketin içinde react-native isimli bir dosya var.
Biz yukarıdaki komutu bash_profile'a eklediğimiz zaman, artık her terminal açtığımızda react-native komutu kullanıma hazır
olarak gelmiş olacaktır.
Ref: https://burhantanis.com/blog_kod_dunyam/2017/06/06/linuxda-bash-profile-hazirlamak
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment