it-swarm.asia

UNIX $ (dolar) isteminin Kökeni nedir?

UNIX İstemi, girişinizin beklendiğini belirtmek için $ sembolünü kullanır.

Bir neden varsa, bu sembolün neden seçildiğini merak ediyordum. Dolar sadece biraz beklenmedik görünüyor. Bence bir > sembolü daha anlamlı olurdu.

76
Max Howell

Hadi biraz keşfedelim:

  • Sürüm 8 Unix kolaydır. Hala erkek sayfaları var. sh man sayfasına gidin ve İstemi arayın. Okuduğunuz bir noktaya ulaşırsınız:

    PS1 Birincil Bilgi İstemi dizesi, varsayılan olarak “$”.

    PS2 İkincil Bilgi istemi dizgisi, varsayılan olarak “>”.

  • Öyleyse bakalım, o ilk miydi? Sürüm 7 Unix man sayfaları hala kullanılabilir durumdadır ve sh man sayfası , istem 8'in istemlerinin açıklamasını verir.

  • Peki ya sürüm 6? Sürüm 6 Unix'in izlemesi zor değildi. Fakat sh man sayfası hiç bilgi istemez. “Başlarken” kılavuz burada oldukça kullanışlı; bu bahseder :

    Giriş çalışmalarınızın doruk noktası “%” işaretinin yüzde işaretidir. Yüzde işareti, UNIX'in terminalden komutları kabul etmeye hazır olduğu anlamına gelir.

Aha! Yani sürüm 6 sahip değildi. İlk sürüm 7 idi! 1979'da piyasaya sürüldü.

Mutlu? Geçit töreninde yağmur yağmaktan nefret ediyorum, ama olma :)

Sorun şu ki, sürüm 6 bir ilham verici Unix idi. Varyantlara bakın burada . Komut İstemi olarak $ işaretinin Sürüm 7'de başlatılmadığı, bunun yerine bu değişkenlerden birinde ve ardından 7'ye dahil edilen fikir olabilir mi?

Bu noktada, 6 yaşımdayken işletim sistemi dokümantasyonu için avlanmaktan yoruldum. Bu, en azından önemli ölçüde daraltıyor. Versiyon 7'nin $ işaretini bir komut istemi olarak gösteren ilk Bell Labs sürümü olduğunu biliyoruz. Emin olmamız gereken tek şey, bu Versiyon 6 varyantlarının hiçbirinin tanıtmamış olması. Bu değişimin Versiyon 7'de ortaya çıkması mantıklı geliyor, çünkü Bourne Kabuğunu tanıtan sürüm, önceki Unix sürümlerinde kullanılan Thompson Kabuğunu değiştirdi (ve Programcı'nın Workbench Unix'inde kullanılan Massey Shell ).

Yine de son bir düşünce:
$ 'In Word Shell veya senaryosuna ipucu olma fikri çekici ve mantıklı gelse de, bunun resmi olarak onaylanmasını beklemeyin. Unix gelişimi, bir sembolün nasıl geliştiğini takip etmekten ziyade, yaşamında çok daha büyük endişeleri olan büyük bir grup insan tarafından paylaşıldı. Ve bu olağanüstü programcıların bazıları artık aramızda bile değil.

Büyük olasılıkla, "UNIX $ (dolar) komut isteminin Kökeni nedir?" onu tanıtan ilk Unix Shell'in adıdır.

55
A Dwarf

Orijinal Bourne Shell Prompt, "@" adlı bir salyangoz kabuğu idi. Bunu UNIX'in ticari olarak satılmadan önce olduğuna inandığım UNIX 6. basımda hatırlıyorum. Bu yüzden $ işaretine geçiş, UNIX'in ticarileştirilmesiyle ilişkili olabilir, Robert'ın önerdiği gibi $ cehennem.

8
Michael Dillon

Ne yazık ki, soruyu cevaplayamıyorum, ancak size birkaç işaretçi verebilirim.

7
wfaulk

Aslında, Linux'ta Bourne, Bash veya Korn Shell kullanan normal bir kullanıcı hesabı için standart komut satırı komut isteminde dolar işareti ($) bulunurken, root Prompt ise hash işaretidir (#). Buna karşılık, geleneksel C Kabuk İstemi yüzde işaretidir (%).

Eğer tahmin edersem, $, $ cehennem Sözünü hatırlatıyor, bu yüzden muhtemelen seçilmişti.

6
Robert Harvey

Dikkat: Bu doğru olmayabilir, sadece vahşi bir tahmin:

$ 'nin psikolojik bir hatırlatma olduğunu hissediyorum.

O zamanlar şunu hatırlamalıyız, dijital bir bilgi istemi yoktu, sadece bir kağıt "teletype" (tty). Muhtemelen dolar, "Bu telefonu sıraya sokmak için kağıt ve para harcıyorsunuz. Sadece bazı komutları girin!" Demekti.

1
Vikram Durai