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.

Linux PATH dizin ekleme işlemi terminal görünümü

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:

Çı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:

En alt satıra şunu ekleyin:

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:

Ç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:

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):

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.

5
Sending
User Review
0 (0 votes)

Yorum Bırakın

Bu site istenmeyenleri azaltmak için Akismet kullanır. Yorum verilerinizin nasıl işlendiğini öğrenin.