web-dev-qa-db-ja.com

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

UNIXプロンプトでは$記号は、入力が予期されていることを示します。

理由があるのに、なぜこのシンボルが選ばれたのか疑問に思いました。ドルはちょっと予想外のようです。 >記号は、私の考えではより暗示的でした。

86
Max Howell

少し調べてみましょう:

  • バージョン8 Unixは簡単です。まだ利用可能なmanページがあります。 sh man ページにアクセスし、Promptを検索します。あなたはあなたが読むところに行くでしょう:

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

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

  • それが最初かどうか見てみましょう。 バージョン7 Unixのマニュアルページは引き続き利用できます shのマニュアルページ はプロンプトの同じ説明を提供しますバージョン8として。

  • バージョン6はどうですか? バージョン6のUnixを追跡するのは難しくありませんでした。しかし its sh man page はプロンプトについてまったく触れていません。 「はじめに」ガイド ここで役立ちます。それ メンション

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

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

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

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

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

最後に考えたのは:
$がWord Shellまたはスクリプトのヒントであるという考えは魅力的であり、理にかなっていますが、これが公式に確認されることを期待しないでください。 Unixの開発は、シンボルがどのように進化したかを追跡するよりもはるかに大きな懸念を抱くかなり大規模な人々のグループによって共有されました。そして、これらの並外れたプログラマーの一部は、もはや私たちの中にさえいません。

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

60
A Dwarf

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

9
Michael Dillon

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

私が推測すると、$はWordの$ hellを連想させるので、おそらくこれが選ばれたのです。

8
Robert Harvey

残念ながら、私は質問に答えることはできませんが、いくつかのアドバイスを提供できます。

7
wfaulk

注意:これは本当ではないかもしれません、それは単なる乱暴な推測です:

$は心理的なリマインダーです。

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

2
Vikram Durai