Linux içinde .sh nasıl çalıştırılır

Linux'ta .sh dosya adı uzantısına sahip dosyalar genellikle komut kabuğu tarafından yorumlanan programlar olan kabuk komut dosyalarıdır. Shell komut dosyalarının bir dosya adı uzantısına sahip olması gerekmez. Aslında, her şeye adlandırılabilirler. Ancak tarihsel nedenlerden ötürü, genellikle .sh uzantısına sahiptirler.

Kabuk komut dosyalarını çalıştırılabilir duruma getirmek

Shell betiklerini çalıştırmadan önce çalıştırılabilir olarak işaretlenmiş olmalıdır. Dosya modu olarak da bilinen dosyanın izinlerini, ls -l komutuyla uzun bir dizin listesini görüntüleyerek kontrol edebilirsiniz. Dosya adını girerseniz, yalnızca bu dosya için bilgileri alırsınız. Örneğin, burada somefile adında bir dosyamız var ve izinleri ls -l somefile komutuyla görüntülüyoruz:

On karakter " -rw-r - r-- ", bazı dosyaların dosya modunu gösterir. Dosya izinleri hakkında daha fazla bilgi için, bkz. İzinler nelerdir ve nasıl çalışır?

Burada, dosya modu bazı dosyaları okuyabildiğimizi ve yazabileceğimizi ancak çalıştıramayacağımızı gösterir. Dosya modunu değiştiren chmod komutunu kullanarak yürütme iznini ayarlayabiliriz:

Chmod u + x somefile komutu, dosya sahibi için yürütme izni bitini ayarlar. Dördüncü sırada izin satırının artık sahibinin dosya üzerindeki yürütme izinlerini temsil ettiği bir dördüncü sırada olduğunu görebilirsiniz. Ayrıca, dosya adının renkli olduğuna dikkat edin (burada yeşil renkte gösterilir). Renk sisteminizde farklı olabilir, ancak birçok Linux dağıtımı, ls komutunu çalıştırdığınızda çalıştırılabilir dosyaları ayrı bir renk kullanarak belirtmek için yapılandırılmıştır.

Yürütmeniz gerekebilecek herhangi bir .sh komut dosyası için de aynı işlemi uygulayabilirsiniz. Örneğin, özel bir komut dosyası yazar ve myscript.sh olarak adlandırırsanız, çalıştırmayı denemeden önce chmod u + x myscript.sh komutunu çalıştırmanız gerekir.

Bir komut dosyasını komut satırından yürütme

Bir kabuk betiğini çalıştırmak için komut isteminde betiğin yol adını belirtmeniz gerekir. Örneğin, komut dosyası install.sh olarak adlandırılmışsa ve çalışma dizininizde bulunuyorsa, aşağıdaki komutla çalıştırabilirsiniz.

 ./install.sh 

Yukarıdaki komutlar, kabuğa "geçerli dizinde bulunan install.sh dosyasını yürütün" der. İnstall.sh, ana dizininizdeki myscripts dizininde bulunuyorsa, aşağıdaki komutu kullanarak çalıştırabilirsiniz.

 ~ / Myscripts / install.sh 

Not: Komut dosyasına dosya yolunu belirtin (örneğin, inshall.sh yazıp yazmak yerine) güvenlik önlemi olarak: kabuk, doğru install.sh dosyasının çalıştığından emin olmak ister, bu nedenle tam adını belirtmeniz gerekir yer.

Tek istisna, komut dosyanızın sisteminizin PATH ortam değişkeninde listelenen bir dizinde bulunmasıdır. Öyleyse, install.sh komutunu çalıştırarak dosyayı çalıştırabilirsiniz.