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 
Blog'a Dön