shell – UNIX の $ (ドル) プロンプトの由来は何ですか?

history prompt shell unix

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

なぜこのマークが選ばれたのか、理由があるのかと思っていました。ドルはちょっと意外な感じがします。私の意見では、>の方が示唆に富んでいると思います

  90  community wiki  None


ベストアンサー

少し探検してみましょう

  • バージョン8のUnixは簡単です。まだmanページがあります。sh man のページに行き、 prompt を検索してください。読んだところにたどり着きます

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

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

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

  • バージョン6は?バージョン 6 Unix は追跡するのは難しくありませんでした。しかし、sh の man ページ にはプロンプトのことはまったく書いてありません。「はじめに」ガイド はここで便利です

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

嗚呼、バージョン6にはなかったんですね。バージョン7が最初だったんですね!1979年発売

満足か?あなたのパレードに雨を降らせたくはないが、そうではない。)

問題は、バージョン6が1つの感動的なUnixだったということです。ここの亜種を見てください。コマンドプロンプトとしての $ 記号は、バージョン 7 で始まったのではなく、これらの亜種の一つであり、そのアイデアがバージョン 7 に組み込まれたということはあり得るでしょうか?

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

最後にもう一つ。 シェルやスクリプトのヒントとなる $ のアイデアは魅力的で、すべての意味を持っていますが、これが公式に確認されるとは思ってはいけません。Unix の開発は、シンボルがどのように進化したかを追跡することよりもずっと大きな関心事を持っている、かなり大きなグループの人々によって共有されていました。そして、これらの並外れたプログラマの何人かは、もう私たちの間にはいないのです

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

62  community wiki  2018-07-10


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

9  community wiki  2009-10-20


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

私が推測するに、$は$hellという言葉を連想させるので、それが選ばれた理由ではないでしょうか

8  community wiki  2009-10-19


悲しいかな、質問には答えられませんが、いくつかの指摘はできます

7  community wiki  2016-05-06


注意:これは真実ではないかもしれません

$が心理的な反省をしているような気がする

当時はデジタルプロンプトはなく、紙の “テレタイプ”(tty)だけだったことを覚えておかなければなりません。そして、おそらくドルは「この電話回線を維持するために紙とお金を無駄にしている

2  community wiki  2018-03-22


1975年のPDP-11/70の “Unix System 2 “で、私が初めて使ったUnixシステムのユーザ’dmr’によると、$プロンプトは “sh “の文字を連想させるものだったそうです。私は、これはすでにPS1という変数で設定可能だったと思います。System” の指定はすぐに “Release” に置き換えられました (これは “Version” よりも何年も前のものです)。1980年6月のUnix User’s Manual Release 3.0によると、その頃にはPS1で、デフォルトでは「$ ‘」になっていました。PS2 は、もちろん、ある行から次の行へとコマンドを続けるときに使用されるセカンダリプロンプトであり、今もそうです。デフォルトは ‘> ‘ です

0  community wiki  2020-07-27


タイトルとURLをコピーしました