Diğer cevaplarla aynı fikirde .sholmamakla birlikte, kabuk komut dosyaları için bir uzantı kullanmak için yaygın bir kural vardır - ancak bu kullanışlı bir kural değildir. Bir uzantı kullanmamak daha iyidir. foo.shİsmi nedeniyle bunun bir kabuk betiği olduğunu söyleyebilmenin avantajı minimumdur ve esneklik kaybı ile bunun için ödeme yaparsınız.
Bir bash betiğini çalıştırılabilir yapmak için , üstte bir shebang satırı olması gerekir :
#!/bin/bash
ve chmod +xkomutu, sistemin onu yürütülebilir bir dosya olarak tanıması için kullanın . Daha sonra, dosyanızda listelenen dizinlerden birine yüklenmesi gerekir $PATH. Komut dosyası çağrılırsa foo, bunu bir kabuk isteminden yazarak çalıştırabilirsiniz foo. Veya geçerli dizindeyse (geçici komut dosyaları için ortaktır), yazabilirsiniz ./foo.
Ne kabuk ne de işletim sistemi dosya adının uzantı kısmına dikkat etmez. Bu sadece ismin bir parçası. Ve tarafından değil buna özel bir uzantısı vererek, bunu yok kullanımları o (sh, bash, csh, ya da herneyse) bir kabuk olsun, o nasıl uygulandığına bakım ki (bir kullanıcı veya başka bir komut dosyası olarak) o kimseyi sağlamak , bir Perl, Python veya Awk betiği veya çalıştırılabilir bir ikili dosya. Sistem, nasıl uygulandığını bilmeden veya umursamadan yorumlanmış bir komut dosyası veya ikili yürütülebilir dosya çağrılabilecek şekilde özel olarak tasarlanmıştır.
UNIX benzeri sistemler, tamamen metinsel bir komut satırı arayüzüyle başladı. KDE ve Gnome gibi GUI'ler daha sonra eklendi. Bir GUI masaüstü sisteminde, tipik olarak bir programı (yine bir komut dosyası veya bir ikili yürütülebilir dosya) çalıştırabilirsiniz, örneğin, ona atıfta bulunan bir simgeye çift tıklayarak. Genellikle bu, programın yazdırabileceği herhangi bir çıktıyı atar ve komut satırı argümanlarını iletmenize izin vermez; bir kabuk isteminden çalıştırmaktan çok daha az esnektir. Ancak bazı programlar için (çoğunlukla GUI istemcileri) daha uygun olabilir.
Kabuk komut dosyası oluşturma en iyi şekilde bir GUI'den değil komut satırından öğrenilir.
(Bazı araçlar yapmak dosya uzantılarına ödeme dikkati Örneğin, derleyiciler genellikle kod yazıldığı dili belirlemek için uzantıyı kullanın:. .cC, .cpp. C ++, vb Bu kongre çalıştırılabilir dosyalar için geçerli değildir)
UNIX'in (ve UNIX benzeri sistemlerin) Windows olmadığını unutmayın. MS Windows, nasıl açılacağını / çalıştırılacağını belirlemek için genellikle bir dosyanın uzantısını kullanır. İkili yürütülebilir dosyaların bir .exeuzantıya sahip olması gerekir . Windows altında kurulu UNIX benzeri bir kabuğunuz varsa, Windows'u bir .shuzantıyı kabuk komut dosyası olarak tanıyacak şekilde yapılandırabilir ve kabuğu açmak için kullanabilirsiniz; Windows #!kuralı yok.
bash myscript