Apa asal usul UNIX $ (dolar)?

83

Prompt UNIX menggunakan $simbol untuk menunjukkan bahwa input Anda diharapkan.

Saya bertanya-tanya mengapa simbol ini dipilih — jika ada alasan. Dolar sepertinya sedikit tidak terduga. Sebuah >simbol akan lebih sugestif menurut saya.

Max Howell
sumber
3
Meskipun tidak terkait pemrograman, tentu saja terkait komputer, jadi lebih baik di Super User, saya pikir.
Joey
Saya ingin tahu jawabannya juga. Saya akan mencarinya di SU.
Gabriel Hurley
24
Ini prompt shell Bourne, bukan prompt Unix. Prompt csh default adalah%.
wfaulk
1
wfaulk, kuharap aku bisa meningkatkan komentarmu lebih dari sekali.
Richie Marquez
18
€ belum ada ...
mouviciel

Jawaban:

59

Mari kita jelajahi sedikit:

  • Versi 8 Unix mudah. Masih ada halaman manual yang tersedia. Buka halaman sh shman dan cari prompt. Anda akan sampai pada titik di mana Anda membaca:

    PS1 Primary prompt string, secara default "$".

    PS2 String prompt sekunder, secara default ">".

  • Jadi mari kita lihat apakah itu yang pertama. Versi 7 Unix halaman manual masih tersedia, dan yang shhalaman manual memberikan deskripsi yang sama prompt sebagai versi 8.

  • Bagaimana dengan versi 6? Versi 6 Unix tidak sulit dilacak. Tapi yang sh halaman manual tidak menyebutkan petunjuk sama sekali. Panduan "Memulai" berguna di sini; itu menyebutkan :

    Puncak dari upaya login Anda adalah tanda persen "%". Tanda persen berarti bahwa UNIX siap menerima perintah dari terminal.

Aha! Jadi versi 6 tidak memilikinya. Versi 7 adalah yang pertama! Dirilis pada 1979.

Senang? Benci hujan di parade Anda, tapi jangan :)

Masalahnya adalah bahwa versi 6 adalah salah satu yang menginspirasi Unix. Lihatlah varian di sini . Mungkinkah tanda $ sebagai prompt perintah tidak dimulai di Versi 7, tetapi sebaliknya di salah satu varian ini dan kemudian ide dimasukkan ke dalam 7?

Pada titik ini saya bosan berburu dokumentasi sistem operasi dari waktu saya berumur 6 tahun. Ini setidaknya mempersempitnya. Kita tahu Versi 7 adalah rilis Bell Labs pertama yang menunjukkan tanda $ sebagai prompt perintah. Yang perlu kita pastikan adalah tidak ada varian Versi 6 yang memperkenalkannya. Masuk akal untuk perubahan ini telah muncul di Versi 7 meskipun karena itulah rilis yang memperkenalkan cangkang Bourne, menggantikan cangkang Thompson yang digunakan dalam versi Unix sebelumnya (dan cangkang Massey yang digunakan dalam Programmer Workbench Unix).

Satu pemikiran terakhir:
Meskipun gagasan $ menjadi petunjuk untuk kata shell atau skrip menarik dan masuk akal, jangan berharap ini pernah dikonfirmasi secara resmi. Pengembangan Unix dibagikan oleh sekelompok orang yang agak besar dengan kepedulian yang jauh lebih besar dalam kehidupan daripada melacak bagaimana simbol berevolusi. Dan beberapa pemrogram luar biasa ini bahkan tidak ada lagi di antara kita.

Kemungkinan besar, yang terbaik yang dapat Anda harapkan dari pertanyaan "Apa asal usul UNIX $ (dolar)?" adalah nama shell Unix pertama yang memperkenalkannya.

A Dwarf
sumber
4
Versi 7 adalah Unix pertama dengan shell Bourne. Itu menggantikan cangkang Thompson di Versi 6. Jadi ini menjadi penggambaran antara cangkang meminta masuk akal.
wfaulk
1
Ya. Kita bisa melacaknya ke Bourne Shell. Adapun penulis, tidak ada keraguan tentang itu. Tapi dia adalah karyawan di Bell Labs sama seperti orang lain.
A Dwarf
1
Juga, ada halaman manual setidaknya sejauh Versi 3: minnie.tuhs.org/UnixTree/V3/usr/man/man1
wfaulk
2
Kembali dalam edisi keenam hari dan sebelumnya, UNIX didistribusikan dengan kode sumber lengkap. Semua universitas yang mendapatkannya cenderung melakukan modifikasi lokal (dari situlah BSD berasal) jadi mungkin beberapa programmer sistem lokal di University of Waterloo mengatakan bahwa prompt "shell" harus lebih mirip siput, dan mengubah% menjadi @ . Dan seperti yang Anda katakan, ada banyak varian, dan ketika mereka disatukan kembali di v7, tidak diragukan lagi asal usul perubahan sudah kabur.
Michael Dillon
3
Sumber inspirasi yang mungkin untuk Bourne: manual MTS FORTRAN-IV / WATFIV dari 1978 menjelaskan input kartu-punch: "kartu kendali" termasuk "perintah ... yang selalu dimulai dengan tanda dolar ($) pada kolom 1."
cxw
9

Prompt shell Bourne asli adalah cangkang siput, "@". Saya ingat ini pada edisi UNIX 6 yang, saya percaya, sebelum UNIX dijual secara komersial. Jadi peralihan ke tanda $ dapat dikaitkan dengan komersialisasi UNIX, seperti yang disarankan Robert, $ neraka.

Michael Dillon
sumber
3
Shell Bourne tidak ada sampai Versi 7.
wfaulk
2
Yah, kami baru saja menyebutnya "shell" jadi saya tidak benar-benar tahu siapa yang menulisnya. Saya ingat pernah melihat poster dengan semua perintah shell didokumentasikan pada mereka, disusun dalam bentuk spiral seperti siput atau tanda. Mungkin itu dari O'Reilly tapi saya tidak yakin.
Michael Dillon
8

Sebenarnya, command-line prompt standar di Linux untuk akun pengguna normal menggunakan Bourne, Bash atau Korn shell adalah tanda dolar ($) sedangkan prompt root adalah tanda pagar (#). Sebaliknya prompt shell C tradisional adalah tanda persen (%).

Jika saya menebak, $ mengingatkan pada kata $ hell, yang mungkin mengapa itu dipilih.

Robert Harvey
sumber
4
Dia meminta asal yang sebenarnya, bukan untuk apa yang orang duga mungkin.
davr
6
Jangan marah. Menilai dari jawaban lain yang diposting di sini, tampaknya tidak ada yang benar-benar tahu.
Robert Harvey
1
Saya kira prompt root # dipilih karena bertepatan dengan karakter komentar, mengurangi kemungkinan secara tidak sengaja menyisipkan perintah berbahaya ... atau mungkin tidak! Saya tidak berpikir mereka punya banyak cara memotong-dan-menempel kembali pada hari itu.
Sam Watkins
Untuk apa nilainya, inilah jawaban yang saya cari karena saya tidak pernah bisa mengingat yang mana.
John Leidegren
2

Perhatian: ini mungkin tidak benar, ini hanya tebakan liar:

Saya memiliki perasaan yang $merupakan pengingat psikologis.

Kita harus ingat bahwa saat itu, tidak ada prompt digital, hanya kertas "teletype" ( tty). Dan mungkin dolar adalah untuk mengatakan "Anda membuang-buang kertas dan uang menjaga saluran telepon ini. Cukup masukkan beberapa perintah !!".

Vikram Durai
sumber