Nguồn gốc của dấu nhắc UNIX (đô la) là gì?


83

Dấu nhắc UNIX sử dụng $ký hiệu để chỉ ra rằng đầu vào của bạn được mong đợi.

Tôi đã tự hỏi tại sao biểu tượng này lại được chọn nếu có lý do. Đô la chỉ có vẻ hơi bất ngờ. >Theo ý kiến ​​của tôi, một biểu tượng sẽ có nhiều gợi ý hơn.


3
Mặc dù không liên quan đến lập trình, chắc chắn liên quan đến máy tính, do đó tốt hơn ở Super User, tôi nghĩ vậy.
Joey

Tôi cũng muốn biết câu trả lời. Tôi sẽ tìm nó trên SU.
Gabriel Hurley

24
Đó là dấu nhắc shell Bourne, không phải dấu nhắc Unix. Dấu nhắc csh mặc định là%.
wfaulk

1
wfaulk, tôi ước tôi có thể nâng cao nhận xét của bạn hơn một lần.
Richie Marquez

18
€ chưa tồn tại ...
mouviciel

Câu trả lời:


59

Hãy khám phá một chút:

  • Phiên bản 8 Unix rất dễ. Vẫn còn những trang man. Đến trang sh man và tìm kiếm lời nhắc. Bạn sẽ đến một điểm mà bạn đọc:

    Chuỗi nhắc nhở chính PS1, theo mặc định là $ $.

    Chuỗi nhắc nhở thứ cấp của PS2, theo mặc định

  • Vì vậy, hãy xem nếu đó là lần đầu tiên. Phiên bản 7 Unix trang người đàn ông vẫn có sẵn, và các shtrang người đàn ông mang đến cho các mô tả cùng một nhắc nhở như phiên bản 8.

  • Còn phiên bản 6 thì sao? Phiên bản 6 Unix không khó theo dõi. Nhưng trang người đàn ông của nósh không đề cập đến lời nhắc nào cả. Hướng dẫn bắt đầu hướng dẫn sử dụng tiện ích có sẵn tại đây; nó đề cập đến :

    Đỉnh cao của những nỗ lực đăng nhập của bạn là một phần trăm ký hiệu %%. Dấu phần trăm có nghĩa là UNIX đã sẵn sàng chấp nhận các lệnh từ thiết bị đầu cuối.

Aha! Vì vậy, phiên bản 6 không có nó. Phiên bản 7 là phiên bản đầu tiên! Được phát hành vào năm 1979.

Vui mừng? Ghét mưa trong cuộc diễu hành của bạn, nhưng đừng

Vấn đề là phiên bản 6 là một Unix truyền cảm hứng. Nhìn vào các biến thể ở đây . Có thể là dấu $ như một dấu nhắc lệnh không được bắt đầu trong Phiên bản 7, mà thay vào đó là một trong những biến thể và sau đó ý tưởng được tích hợp vào 7?

Tại thời điểm này, tôi đã mệt mỏi với việc săn lùng tài liệu hệ điều hành từ khi tôi lên 6. Điều này ít nhất thu hẹp đáng kể. Chúng tôi biết Phiên bản 7 là bản phát hành Bell Labs đầu tiên hiển thị dấu $ dưới dạng dấu nhắc lệnh. Tất cả chúng ta cần chắc chắn là không có biến thể Phiên bản 6 nào giới thiệu nó. Có ý nghĩa cho sự thay đổi này đã xuất hiện trong Phiên bản 7 mặc dù đó là phiên bản giới thiệu vỏ Bourne, thay thế vỏ Thompson được sử dụng trong các phiên bản Unix trước đó (và vỏ Massey được sử dụng trong Unix của Workbench).

Mặc dù vậy, một suy nghĩ cuối cùng:
Mặc dù ý tưởng $ là một gợi ý cho shell word hoặc script đang hấp dẫn và có ý nghĩa, nhưng đừng hy vọng điều này sẽ được xác nhận chính thức. Sự phát triển Unix được chia sẻ bởi một nhóm người khá lớn với những mối quan tâm lớn hơn nhiều trong cuộc sống hơn là theo dõi cách một biểu tượng phát triển. Và một số trong những lập trình viên phi thường này thậm chí không còn trong số chúng ta nữa.

Rất có thể, điều tốt nhất bạn có thể hy vọng nhận được từ câu hỏi "Nguồn gốc của dấu nhắc UNIX (đô la) là gì?" là tên của shell Unix đầu tiên giới thiệu nó.


4
Phiên bản 7 là phiên bản Unix đầu tiên có vỏ Bourne. Nó đã thay thế lớp vỏ Thompson trong Phiên bản 6. Vì vậy, đây là sự phân định giữa các dấu nhắc vỏ có ý nghĩa.
wfaulk

1
Vâng Chúng tôi có thể theo dõi nó đến Bourne Shell. Đối với tác giả, không có nghi ngờ về điều đó. Nhưng anh ta là một nhân viên tại Bell Labs giống như mọi người khác.
Một người lùn

1
Ngoài ra, có những trang dành cho người đàn ông ít nhất là từ Phiên bản 3: minnie.tuhs.org/UnixTree/V3/usr/man/man1
wfaulk

2
Quay trở lại trong phiên bản thứ sáu và trước đó, UNIX đã được phân phối với mã nguồn đầy đủ. Tất cả các trường đại học nhận được nó có xu hướng sửa đổi cục bộ (đó là nơi BSD đến từ đó) nên có lẽ một số lập trình viên hệ thống địa phương tại Đại học Waterloo mặc dù dấu nhắc "vỏ" sẽ trông giống như một con ốc sên và thay đổi% thành @ . Và như bạn nói, có rất nhiều biến thể, và khi chúng được đối chiếu lại với nhau trong v7, không còn nghi ngờ gì nữa, nguồn gốc của những thay đổi đã mờ nhạt.
Michael Dillon

3
Một nguồn cảm hứng khả dĩ cho Bourne: hướng dẫn MTS FORTRAN-IV / WATFIV từ năm 1978 mô tả đầu vào thẻ đục lỗ: "thẻ kiểm soát" bao gồm "các lệnh ... luôn bắt đầu bằng ký hiệu đô la ($) trong cột 1."
cxw

9

Dấu nhắc vỏ Bourne ban đầu là vỏ ốc, "@". Tôi nhớ điều này trên phiên bản UNIX thứ 6 mà tôi tin là trước khi UNIX được bán thương mại. Vì vậy, việc chuyển sang ký hiệu $ có thể liên quan đến thương mại hóa UNIX, như Robert đề xuất, $ hell.


3
Vỏ Bourne không tồn tại cho đến Phiên bản 7.
wfaulk

2
Chà, chúng tôi chỉ gọi nó là "cái vỏ" nên tôi không thực sự biết ai đã viết nó. Tôi nhớ đã nhìn thấy các áp phích với tất cả các lệnh shell được ghi lại trên chúng, được sắp xếp theo hình xoắn ốc như vỏ ốc hoặc ở dấu hiệu. Có thể đó là từ O'Reilly nhưng tôi không thể chắc chắn.
Michael Dillon

8

Trên thực tế, dấu nhắc dòng lệnh tiêu chuẩn trong Linux cho tài khoản người dùng thông thường sử dụng Bourne, Bash hoặc Korn shell là ký hiệu đô la ($) trong khi dấu nhắc gốc là dấu băm (#). Ngược lại, dấu nhắc shell C truyền thống là dấu phần trăm (%).

Nếu tôi đoán, $ gợi nhớ đến từ $ hell, đó có lẽ là lý do tại sao nó được chọn.


4
Anh ta yêu cầu nguồn gốc thực tế, không phải những gì mọi người đoán nó có thể.
davr

6
Đừng có lén lút. Đánh giá từ các câu trả lời khác được đăng ở đây, có vẻ như không ai thực sự biết chắc chắn.
Robert Harvey

1
Tôi đoán rằng dấu nhắc gốc # được chọn trùng với ký tự nhận xét, làm giảm khả năng vô tình dán các lệnh nguy hiểm ... hoặc có thể không! Tôi không nghĩ rằng họ có nhiều cách để cắt và dán lại trong ngày.
Sam Watkins

Đối với những gì nó có giá trị, đây là câu trả lời tôi đang tìm kiếm bởi vì tôi không bao giờ có thể nhớ đó là cái gì.
John Leidegren


2

Chú ý: điều này có thể không đúng, nó chỉ là một phỏng đoán hoang dã:

Tôi có một cảm giác đó $là một lời nhắc nhở tâm lý.

Chúng ta phải nhớ rằng hồi đó, không có dấu nhắc kỹ thuật số, chỉ có một tờ giấy "teletype" ( tty). Và có lẽ đồng đô la đã nói rằng "bạn đang lãng phí giấy và tiền để giữ điện thoại này. Chỉ cần nhập một số lệnh !!".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.