UNIX $(ドル)プロンプトの起源は何ですか?


83

UNIXプロンプトでは、$入力が予想されることを示すために記号が使用されます。

理由があるのなら、なぜこのシンボルが選ばれたのだろうと思いました。ドルはちょっと予想外のようです。>シンボルは、私の意見では、より暗示されていると思います。


3
プログラミング関連ではなく、確かにコンピューター関連であるため、スーパーユーザーの方が優れていると思います。
ジョーイ

私も答えを知りたいです。SUで探します。
ガブリエルハーリー

24
Unixプロンプトではなく、Bourneシェルプロンプトです。デフォルトのcshプロンプトは%です。
wfaulkが

1
wfaulk、私はあなたのコメントを複数回支持できたらいいのにと思う。
リッチーマルケス

18
€はまだ存在していませんでした...
mouviciel

回答:


59

少し探検しましょう:

  • バージョン8 Unixは簡単です。まだマニュアルページが利用可能です。取得 SHのmanページやプロンプトを検索します。あなたが読むポイントに到達します:

    PS1プライマリプロンプト文字列、デフォルトでは「$」。

    PS2セカンダリプロンプト文字列、デフォルトでは「>」。

  • それが最初だったかどうか見てみましょう。 バージョン7つのUnixの manページはまだ利用可能であり、manページには、 バージョン8のようにプロンプトと同じ説明を示します。sh

  • バージョン6はどうですか?バージョン6 Unix は追跡するのが難しくありませんでした。しかし、そのsh マニュアルページにはプロンプトがまったく記載されていません。ここで「はじめに」ガイド が役立ちます。それは言及しています

    ログインの成果は、パーセント記号「%」です。パーセント記号は、UNIXが端末からコマンドを受け入れる準備ができていることを意味します。

あぁ!そのため、バージョン6にはありませんでした。バージョン7が最初でした!1979年にリリースされました。

ハッピー?パレードで雨が降るのは嫌いですが、しないでください:)

問題は、バージョン6が刺激的なUnixであったことです。ここのバリアントを見てください。コマンドプロンプトとしての$記号がバージョン7で開始されたのではなく、代わりにこれらのバリアントの1つで開始され、アイデアが7に組み込まれた可能性がありますか?

この時点で、私は6歳の頃からオペレーティングシステムのドキュメントを探すことにうんざりしていました。これにより、少なくともかなり絞り込まれます。バージョン7は、コマンドプロンプトとして$記号を表示する最初のBell Labsリリースでした。確認する必要があるのは、これらのバージョン6のバリアントのいずれも導入していないことだけです。バージョン7でこの変更が現れたのは理にかなっていますが、それはBourneシェルを導入したリリースであり、Unixの以前のバージョンで使用されたThompsonシェル(およびProgrammer's Workbench Unixで使用されたMasseyシェル)を置き換えます。

最後に考えたの
は、$がシェルまたはスクリプトという単語のヒントになるという考えは魅力的であり、すべての意味をなすが、これが公式に確認されることを期待しないでください。Unixの開発は、シンボルがどのように進化したかを追跡することよりも、人生においてはるかに大きな懸念を持つ人々のかなり大きなグループによって共有されました。そして、これらの並外れたプログラマーの何人かはもう私たちの中にさえいません。

おそらく、「UNIX $(ドル)プロンプトの起源は何ですか?」という質問から得られると期待できる最高のものです。これを導入した最初のUnixシェルの名前です。


4
バージョン7は、Bourneシェルを備えた最初のUnixでした。これは、バージョン6のThompsonシェルに置き換わるものです。したがって、これはシェルプロンプト間の描写に意味があります。
wfaulk

1
うん。Bourne Shellまでたどることができます。著者については、それについて疑いの余地はありません。しかし、彼は他の皆と同じようにベル研究所の従業員でした。
ドワーフ

1
また、少なくともバージョン3 以降の
wfaulk

2
第6版の時代とその前に、UNIXは完全なソースコードを含んで配布されました。それを手に入れたすべての大学は、ローカル修正(BSDの出所)を行う傾向があるため、おそらくウォータールー大学のローカルシステムプログラマーは、「シェル」プロンプトがカタツムリのように見え、%を@に変更する必要があります。 。そして、あなたが言うように、多くのバリアントがあり、v7でそれらが再び照合されたとき、間違いなく変更の起源はすでにあいまいでした。
マイケルディロン

3
Bourneのインスピレーションの可能性のあるソース:1978年のMTS FORTRAN-IV / WATFIVマニュアルでは、パンチカード入力について説明しています。「コントロールカード」には「列1のドル記号($)で始まるコマンド...」が含まれます。
cxw

9

元のBourneシェルプロンプトはカタツムリシェル「@」でした。これは、UNIXが商業的に販売される前のUNIX第6版で覚えています。したがって、$記号への切り替えは、Robertが示唆したように、$ hellというUNIXの商業化に関連している可能性があります。


3
Bourneシェルはバージョン7まで存在しませんでした
wfaulk

2
まあ、私たちはそれを「シェル」と呼んでいるので、誰が書いたのか本当にわかりません。私は、すべてのシェルコマンドが記載されたポスターを見て、カタツムリの殻のように螺旋状に、またはアットマークで配置したのを見たことを覚えています。たぶんそれはオライリーからだったのかもしれませんが、私にはわかりません。
マイケルディロン

8

実際、Bourne、Bash、またはKornシェルを使用する通常のユーザーアカウントのLinuxの標準コマンドラインプロンプトはドル記号($)で、ルートプロンプトはハッシュマーク(#)です。対照的に、従来のCシェルプロンプトはパーセント記号(%)です。

私が推測した場合、$は$ hellという単語を連想させます。これがおそらく選択された理由です。


4
彼は、人々が推測するものではなく、実際の起源を求めています。
davr

6
narくならないでください。ここに投稿された他の回答から判断すると、とにかく確かなことは誰も知らないようです。
ロバートハーベイ

1
ルートプロンプト#はコメント文字と一致するように選択されているため、誤って危険なコマンドを貼り付ける可能性を減らしています。私は彼らがその日にカットアンドペーストの方法で多くを持っていたとは思わない。
サムワトキンス

それが価値があるものについては、これは私が探していた答えでした。
ジョンライデグレン


2

注意:これは真実ではないかもしれません、それは単なるワイルドな推測です:

私は$心理的なリマインダーであると感じています。

当時は、デジタルプロンプトはなく、紙の「テレタイプ」(tty)しかなかったことを覚えておく必要があります。そしておそらく、ドルは「この電話のラインナップを維持するために紙とお金を無駄にしている。すでにいくつかのコマンドを入力してください!!」と言うことでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.