Linux Source Komutu Nedir?

Özet
Linux sistemlerinde, source komutu mevcut kabuktaki dosya içeriğini okuyan ve yürüten yerleşik bir kabuk komutudur. Komutu genellikle dosyaları okunmak ve çalıştırılmak üzere kullanırız. source komutu yerine nokta (.) karakteri de kullanılabilir.
syntax
Source komutu aşağıdaki sözdizimini kullanır.
source filename [arguments]
Source komutu yerine Nokta (.) karakteri de, aynı çıktıyla sonuçlanır.
. filename [arguments]
Yürütmek istediğiniz dosyanın tam yolunu sağlamazsanız, ve $PATH içerisinde tanımlı değilse, source komutu dosyayı geçerli dizinde arayacaktır.
Bu kılavuz üzerinde source komutun nasıl çalıştığını ve en çok ne zaman kullanılacağını göreceğiz.
Kabuk Yenileme
Kendi mevcut kabuğumuzu özelleştirebiliriz. Bunlar çevre değişkenleri olabilir, alias olabilir biraz hayal dünyamıza kalmış. Normal şartlarda bu değişikliklerin geçerli olması için terminalden çıkıp girmemiz gerekir. Yani kabuğu sonlandırmamız lazım. Ancak source komutu ile bu zahmetten rahatlıkla kurtulabiliriz. İlk olarak kullanıcının bash kabuğunda kalıcı bir alias tanımlayalım. Favori editör ile kullanıcınızın ev dizininden .bashrc dosyasını açınız.
~ sembolü kullanıcının ev dizinini gösterir.
vi ~/.bashrc
Hazırladığınız takma adı kopyalayınız.
alias webaccess="sudo cat /var/log/apache2/access.log"

Dosyayı kayıt edip çıkınız.
:wq!
Hazırladığınız bu aliası kullanmak istediğinizde çalışmadığını rahatlıkla görebilirisiniz. Terminali sonladırmadan takma adların hemen geçerli olması için source komutunu kullanalım.
source ~/.bashrc

Şimdi kabuğu sonlandırmadan takma adı test edelim.
webaccess

Yapılandırma Dosyası Okuma
source komutu aynı zamanda bir dosyadan değişkenleri okumanıza izin verir. Hemen örnekleyelim. Bulunduğum dizinde test.sh adında bir yapılandırma dosyası oluşturuyorum.
vi test.sh

Şimdi basit bir değişken tanımlayıp bu değişkeni ekrana yazdıralım.
#!/bin/bash
AD="MEHMET OZ"
echo $AD

Dosyamı vim editörü üzerinde kayıt edip çıkıyorum.
:wq!
Son olarak yapılandırma dosyamı source komutu ile çalıştırıyorum.
. test.sh
