Linux’ta sık kullandığınız bir script’iniz var ve her çalıştırışta cd /falanca/dizin && ./script.sh yazmaktan sıkıldınız, öyle mi? Çözüm basit: script’in bulunduğu dizini PATH ortam değişkenine eklemek. Böylece nerede olursanız olun, dosya adını yazıp çalıştırabilirsiniz; tıpkı ls ya da grep gibi.

PATH nedir, nasıl çalışır?
Terminale bir komut yazdığınızda kabuk (shell), o komutu PATH değişkeninde listelenen dizinlerde sırayla arar. Mevcut PATH’inizi görmek için:
|
1 |
echo $PATH |
Çıktıda /usr/local/bin:/usr/bin:/bin gibi iki nokta ile ayrılmış dizinler göreceksiniz. Bizim yapacağımız şey, kendi dizinimizi bu listeye eklemek.
Kalıcı olarak dizin eklemek
Örnek üzerinden gidelim: script’imizin adı bora.sh olsun ve /root/projeler/araclar dizininde dursun.
Sistem genelinde (tüm kullanıcılar için) eklemek istiyorsanız profile dosyasını açın:
|
1 |
nano /etc/profile |
En alt satıra şunu ekleyin:
|
1 |
PATH="/root/projeler/araclar":$PATH |
Sondaki :$PATH kısmı önemli; mevcut listeyi korur, sizin dizininizi başa ekler. Bunu unutursanız sistemdeki diğer komutlar bulunamaz hale gelir ve terminaliniz kullanılmaz olur.
Sadece kendi kullanıcınız için eklemek isterseniz aynı satırı ~/.bashrc dosyasına da koyabilirsiniz; sunucularda genelde benim tercihim bu, çünkü sistem geneline dokunmamış olursunuz.
Değişikliğin geçerli olması için oturumu kapatıp açın ya da şu komutla dosyayı yeniden yükleyin:
|
1 |
source /etc/profile |
Çalıştırma izni vermeyi unutmayın
PATH’e eklemek tek başına yetmez; dosyanın çalıştırılabilir olması gerekiyor. Script’in bulunduğu dizinde:
|
1 |
chmod +x bora.sh |
Artık hangi dizinde olursanız olun, terminale bora.sh yazarak script’inizi çalıştırabilirsiniz.
Bonus: script’i bin dizinine koymak
PATH ile hiç uğraşmak istemeyenler için daha da pratik bir yol var: script’i zaten PATH’te olan /usr/local/bin dizinine kopyalamak (ya da symlink koymak):
|
1 |
ln -s /root/projeler/araclar/bora.sh /usr/local/bin/bora |
Bu yöntemle script’inizi bora komutuyla çağırabilirsiniz. Tek script için en temiz çözüm bu; ama bir dizinde onlarca aracınız varsa PATH’e dizin eklemek daha mantıklı.
Linux sunucu yönetimiyle ilgili diğer pratik rehberler Linux kategorisinde. Sorularınızı yorumlara bırakabilirsiniz.
