direnv/.envrc

direnv şu şekilde tanımlanıyor;

    direnv is an extension for your shell. It augments existing shells with a new feature that can load and unload environment variables depending on the current directory.

Yani bir shell uzantısı olan direnv, spesifik bir dizine bağımlı environment variable oluşturmamıza yardımcı oluyor. Hemen bash yardımı ile konuya girelim. Oldukça basit ama faydalı bir kullanıma sahip.

Paketimizi getirelim

$ sudo apt-get install direnv

Komutu çalıştararak satırımızı ~/.bashrc dosyasına ekleyelim. Dilerseniz kendiniz de ekleyebilirsin.

$ sudo echo 'eval "$(direnv hook bash)"' >> ~/.bashrc

veya 

$ sudo vim ~/.bashrc

eval "$(direnv hook bash)"

Hazırlıklar tamam o halde ufak bir deneme...

burak@comp:~$ mkdir direnv-ex
burak@comp:~$ echo export FOO=bar > direnv-ex/.envrc
burak@comp:~$ cd direnv-ex/
direnv: error /home/burak/direnv-ex/.envrc is blocked. Run `direnv allow` to approve its content
burak@comp:~/direnv-ex$ direnv allow
direnv: loading ~/direnv-ex/.envrc
direnv: export +FOO
burak@comp:~/direnv-ex$ echo $FOO
bar
burak@comp:~/direnv-ex$ cd ..
direnv: unloading
burak@comp:~$ echo $FOO
---EMPTY---
burak@comp:~$ cd direnv-ex/
direnv: loading ~/direnv-ex/.envrc
direnv: export +FOO
burak@comp:~/direnv-ex$ echo $FOO
bar

Shell çıktılarından da anlaşılacağı üzere proje veya dizine bağımlı env variable oluşturabiliyor ve daha verimli yönetebiliyoruz.

Buyrun proje sayfası.


İletişime geçmek, yorum bırakmak veya hatalarımı düzetlmek istersen mail atabilirsin.

iletişim için tıklama yeri