Thompson kabuğu - Thompson shell

Thompson kabuğu
Orijinal yazar (lar)Ken Thompson
Geliştirici (ler)AT&T Bell Laboratuvarları
İlk sürüm3 Kasım 1971; 49 yıl önce (1971-11-03)
İşletim sistemiUnix ve Unix benzeri
TürUnix kabuğu

Thompson kabuğu İlk mi Unix kabuğu, ilk sürümünde tanıtıldı Unix 1971'de yazılmıştır ve Ken Thompson.[1]Basit bir komut yorumlayıcısıydı, komut dosyası yazmak için tasarlanmamıştı, ancak yine de komut satırı arayüzü ve daha sonraki Unix kabuklarının geliştirilmesine yol açtı.

Tarih

Bir için "kabuk" adı komut satırı yorumlayıcısı ve kabuğu işletim sisteminin dışında bir kullanıcı programı haline getirme kavramı çekirdek Unix'in öncüsünde tanıtıldı Multics.

Thompson kabuğunun erken bir özelliği, girdi / çıktı yeniden yönlendirmesi için kompakt bir sözdizimiydi. Multics'te, bir komutun giriş veya çıkışını yeniden yönlendirmek, yeniden yönlendirmeyi başlatmak ve durdurmak için ayrı komutlar gerektiriyordu; Unix'te, komut satırına simgesinden oluşan bir bağımsız değişken eklenebilir ve kabuk komutun süresi boyunca G / Ç'yi yeniden yönlendirir. Bu sözdizimi, Unix'in ilk sürümünün 1971'de piyasaya sürülmesiyle zaten mevcuttu.

Daha sonraki bir ekleme kavramı oldu borular. Önerisi üzerine Douglas McIlroy, yeniden yönlendirme sözdizimi, bir komutun çıktısının başka bir komutun girişine geçirilebilmesi için genişletildi. Sürüm 3 kılavuzunda açıklandığı gibi orijinal boru sözdizimi şöyleydi:

komut1> komut2>

Bu sözdiziminin çok belirsiz olduğu kanıtlandı ve dosyalara ve dosyalardan yeniden yönlendirmeyle kolayca karıştırıldı - sistem "command2" nin "command2" komutu mu yoksa "command2" dosyası mı olduğunu anlayamaz. Sürüm 4'e göre, sözdizimi hem | ve ^ boruları belirtmek için semboller:

command1 | komut2

Bu, şununla tam olarak aynı sonucu verir:

command1 ^ command2

> Sembolü şu şekilde değişti:

command1> dosya1

Bu, command1'in çıktısını dosya1'e koyacaktır.

ile yeniden yönlendirme ve | ile borulama için Thompson kabuk sözdizimi dayanıklılığı kanıtlanmıştır ve diğer birçok Unix kabukları ve diğer birçok işletim sisteminin komut kabukları tarafından, özellikle de DOS, OS / 2 ve Microsoft Windows.

Reddetme ve değiştirmeler

Kabuğun tasarımı bilinçli olarak minimalistti; hatta Eğer ve git program akışının kontrolü için gerekli olan ifadeler ayrı komutlar olarak uygulandı.[1]Sonuç olarak, 1975 sürümüyle Sürüm 6 Unix, Thompson kabuğunun çoğu ciddi programlama görevleri için yetersiz olduğu anlaşılıyordu.

Şu anda, geliştiriciler Programcının Workbench UNIX dağıtım, en önemlisi John Mashey, programlamaya daha uygun hale getirmek için Thompson kabuğunu değiştirmeye başladı.[1]Sonuç olarak bilinen PWB kabuğu veya Mashey kabuğu, daha gelişmiş akış kontrol mekanizmaları içeriyordu ve kabuk değişkenleri tanıttı, ancak Thompson kabuğuyla uyumlu kalma zorunluluğu nedeniyle sınırlı kaldı.

Son olarak, Thompson kabuğu, ana Unix kabuğu olarak değiştirildi. Bourne kabuğu içinde Sürüm 7 Unix ve C kabuğu içinde 2BSD, her ikisi de 1979'da piyasaya sürüldü. Hemen hemen tüm modern Unix ve Unix benzeri sistemler V7 ve 2BSD'den türemiştir, Thompson kabuğu genellikle artık kullanılmamaktadır. Bununla birlikte, şu şekilde mevcuttur: açık kaynak birkaçının parçası olarak Eski Unix kaynak dağıtımları ve modern Unices'e tarihi bir sergi olarak aktarılmıştır.

Ayrıca bakınız

Referanslar

  1. ^ a b c J. R. Mashey (1976-10-13). "Bir Komut Dilinin Üst Düzey Programlama Dili Olarak Kullanılması". 2. Uluslararası Yazılım Mühendisliği Konferansı Bildirileri: 169-176. Alıntı dergisi gerektirir | günlük = (Yardım)

Dış bağlantılar