Komut Satırından Harici Uygulama Kontrolü

Komut satırı aracılığıyla gerçekleştirilen işlemlerde nano1 ve vim2 gibi built-in editörlerin yanı sıra kullanım kolaylığı ve plugin destekleri nedeniyle (live server, linting vb.) haciri editörlerden de faydalanmak isteyebiliriz.

AA

Özellikle son dönemde yaygın bir kullanıma kavuşan Atom3 ve Visual Studio Code4 sahip oldukları terminaller ile komut yönetimini kolaylaştırsalar da farklı durumlarla karşılaşmamız sürpriz olmayacaktır. Bu yazıda, işe yarayacağını düşündüğüm bazı pratik kullanımlardan bahsedeceğim.

Tanımlı Uygulama Kullanımı

Öncelikle nano kullanımına değinmek istiyorum. Nano editör kullanırken cursor işaretçisini ve mouse işlemlerini aktifleştirmek isteyebiliriz. Bu durumda, görüntülemek istediğimiz dosya adı ile birlikte --showcursor --mouse veya -mg şu option’larından faydalanabiliriz.

nano [dosya-adi] --showcursor --mouse

Gelelim asıl konumuza. Görüntülediğimiz bir directory içerisindeki bazı dosyaları veya tüm metin / kod dosyalarını directory ve/veya project olarak görüntülemek isteyebiliriz. Atom editörü indirildiğinde otomatik olarak atom ve apm shell command’ları da yüklenecektir. Bu sayede, terminalde atom [dosya-adi] komutunu uyguladığımızda ilgili dosya Atom editör ile görüntülenecektir. Artık, yapmamız gereken bulunulan dizinde atom komutunu . ile işleme almak.

atom .

Yukarıdaki komutu uyguladığımızda bulunulan directory Atom ile görüntülenecektir. Bu işlemi komut satırına open . yazarak da gerçekleştirebiliriz elbette. Ancak, konumuz Atom editörü. Eğer atom . komutunu uygulamış ve hata almış iseniz shell command ile ilgili bir sorun yaşıyorsunuz demektir. Bu sorunu 2 şekilde çözebiliriz. İlki, Atom editörünü açıp Atom sekmesinde yer alan Install Shell Commands seçeneğini tıklamak. Bu sayede ilgili komutların yüklenmesini sağlayabiliriz.

Atom - Install Shell Commands

Yeni Uygulama Hedefi Tanımlama

Bir diğer yol ise shell script’e symlink oluşturmak. Aşağıdaki komut aracılığıyla symlink’i tanımlanmış oluruz.

ln -s /Applications/Atom.app/Contents/Resources/app/atom.sh /usr/local/bin/atom

Symlink de tanımlandığına göre örneğimizi biraz daha detaylandıralım ve bir kod dosyasının spesifik olarak bir satırını ayrı bir sekmede görüntüleyelim.

atom [dosya-adi]:[satir-adi]:[sekme]

Aynı işlemi Visual Studio Code için de yapabiliriz.

ln -s /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code /usr/local/bin/vsc

Oluşturulan symlink’in ardından yine bulunulan dizini ve/veya dosyaları Visual Studio Code ile kolaylıkla görüntüleyebiliriz.

vsc .

Bir diğer alternatif ise symlink oluşturmak yerine open komutundan faydalanmak olacaktır.

open -a "Atom" .
open -a "Visual Studio Code" .

open komutunu pek çok uygulama için kullanabiliriz. Unutmamamız gereken konu, open komutunun aksi belirtilmediği ve/veya tanımlanmadığı sürece işletim sisteminde ön tanımlı olan uygulama üzerinden dosyaları işleme alınacağıdır. Örnek olarak, bulunulan dizinde yer alan *.jpg uzantılı görselleri ele alalım. open <gorsel-adi> komutunu kullandığımızda belirttiğimiz görsel(ler) Preview ile açılacaklardır. Peki, biz Photoshop ile açılmasını istiyorsak ne yapmalıyız?

open -a "Adobe Photoshop CC 2019" ./*.jpg

Elbette yukarıdaki gibi bir kodu sıklıkla kullanmak istediğimizde, her defasında program adını yazmak canımızı sıkacaktır. O halde, bash alias ile işlemi pratikleştirelim. .zshrc veya .bashrc için aşağıdaki kodu ilgili alanı değiştirerek kullanabilirsiniz.

alias aps="open -a 'Adobe Photoshop CC 2019'"
source ~/.zshrc

Kişisel olarak aps adında bir alias adını tercih ettim. Siz uygun olarak farklı bir tanımda bulunabilirsiniz. Az önce, açık bir şekilde program adı belirterek gerçekleştirdiğimiz dosya açma işlemini şimdi aps ile yineleyelim.

aps *.jpg

Elbette Photoshop konunun sadece metin editörleri ile sınırlı olmadığını, istediğimiz programların pek çoğunu (internet tarayıcısı, müzik çalar, dosya paylaşımı vs.) komut satırı aracılığıyla kontrol edebileceğimizi belirtmek isterim. İlgili program ismini bir metin editörü adıyla değiştirdiğinizde sonuç yine symlink adımıyla aynı olacaktır.

İleri Okumalar

Komut satırı aracılığı ile yapabileceklerinizin neredeyse sınırı yok. Eğer bu yazıyı beğendiyseniz aşağıdaki yazılar da ilginizi çekecektir. İlgili yazıları devamını ve yeni eklenecek olanları Command-line kategorisi aracılığıyla da takip edebilirsiniz.