Bourne kabuğu, Unix® ve LINUX® işletim sistemlerinde çalışan ve sistemdeki programları yürütmek için bir arayüz sağlayan küçük bir programdır. Kullanıcıya grafiksel bir kullanıcı arayüzü (GUI) sağlamadığı için genellikle bir komut satırı arayüzü ya da komut yorumlayıcısı olarak anılır. Komutlar ve uygulanacak gerekli parametreler kabuğa yazılır. Bourne kabuğu ayrıca, kullanıcıların tek bir komut aracılığıyla birden fazla programda verileri işleyebilecek komut dosyaları oluşturmalarına ve yürütmelerine olanak sağlayan bir komut dosyası dilidir. Unix® benzeri sistemlerde, program basitçe "sh" olarak bilinir.
Unix® sistemleri için bu tür ilk kabuklar, Unix® işletim sisteminin orijinal yaratıcılarından Ken Thompson tarafından yaratılan Thompson kabuğu olarak bilinirdi. Thompson kabuğu komut yorumuyla sınırlandırılmış ve harici işlemler olarak bir takım ilave fonksiyonların yürütülmesi gerekiyordu. Daha sonra, Stephen Bourne, Thompson kabuğunu değiştirmek için Bourne kabuğunu yarattı ve kabuğun kendi dilekçesine bir dizi yeni özellik ve kabuğun komut dosyası dilini ekledi.
Gerçekte, Bourne kabuğu, başlangıçtan itibaren bir betik dili olarak planlandı. Hala Unix® sürüm yedi için komut satırı arayüzü olmasına rağmen, kullanıcıların verileri işlemek için komutları birbirine bağlayacak olan kabuk komut dosyaları geliştirme olasılığını da artırdı. Bu programlamanın kullanılmasıyla kullanıcı, girdi veya çıktıdan bilinen veya bilinmeyen verileri yakalamak için değişkenler belirleyebilir ve komut akışındaki koşullu ifadelerin kullanımı yoluyla kontrol akışı olarak adlandırılan bir teknik aracılığıyla bu verilerin işlenmesini değiştirebilir.
Bu aynı zamanda sinyal işleme olarak bilinen bir özelliği uygulayan ilk kabuktu. Bourne kabuğu aracılığıyla, bir kullanıcı bilgisayarda çalışmakta olan bir işleme belirli bir tür sinyal gönderebilir ve bu işlem için başka bir işlem yapmasını isteyebilir. Bunların birçoğu, bir işlemi geçici olarak durdurmak, devam ettirmek ve diğerleri için mevcut olmasına rağmen, bir işlemi yürütme ve hata ayıklama için kullanılabilecek bir tür çıktı üretme yoludur.
Bourne kabuğu için ilk önce dosya tanımlayıcılarını kontrol etme yeteneği başka bir şeydi. Unix® benzeri bir sistemde, çalışan her programın açık dosyaların dosya tanımlayıcılarını listeleyen bir tablosu vardır. Bu, basit bir metin dosyasından bir dizine veya hatta verileri paylaşmak için kullanılan işlemleri yapan iletişim soketlerine bile herhangi bir şey içerebilir. Bir kullanıcının bilgisayardaki hemen hemen her şey için giriş ve çıkış üzerinde benzeri görülmemiş denetime izin veren bir sistemdeki dosya tanımlayıcıları üzerinde denetim sahibi olması.
Elbette, Bourne kabuğu kullanıcılara bu tür ek işlevsellik sunsa da, etkileşimli olarak işlemleri denetleme, komut takma adları oluşturma ve bir geçmişi tutma gibi özelliklerden yoksundu. Bununla birlikte, daha sonra, yıllar içinde geliştirilen ve onları yeni mermiler haline getiren en kullanışlı deniz hayvanı kabiliyet özelliklerinden faydalanan birkaç soydan ortaya çıkmaya başladı. Yaygın bir örnek, Bourne-again kabuğu veya birçok LINUX® sisteminde yaygın olan Bash'dir. Sonuç olarak, bu torunların birçoğu, her Unix® benzeri sisteme orijinal Bourne kabuğunun bir şekilde veya başka bir şekilde uygulanmasını sağlayan, düzenli Bourne kabuğu kodları yürütme yeteneğine sahiptir. Birçok LINUX® sisteminde, bu sadece "sh" den "bash" ya da başka bir yetenekli soyundan gelen bir bağdır.


