回答:
従来、元の/ bin / sh Bourneシェルは$
、通常のプロンプトおよび#
rootユーザープロンプトとして使用されていました(cshはを使用していました%
)。これにより、スーパーユーザーとして実行しているかどうかを簡単に判別できました。
#
コメント文字でもあるので、盲目的にデータを再入力しても、実際のコマンドは実行されません。
より近代的なシェル(例えばkshのは、bash)は、この区別を継続$
して#
使用すると、ユーザー名、ホスト名、ディレクトリなどのより複雑な値を設定することができるとき、それはあまり重要ですが:-)
#
コメント文字であることによって、誰かが盲目的にデータを再入力している場合に、実際のコマンドを実行できないようにする例を挙げられますか?
# reboot
答え...何もありません、 'cos #
はコメントです。
伝統。
POSIX標準は次のように述べています(私の強調):
PS1
この変数は、対話型プロンプトに使用されます。歴史的に、「スーパーユーザー」には「#」のプロンプトがありました。特権はモノリシックである必要はないので、どのプロンプトが代替プロンプトを引き起こすかを定義することは困難です。ただし、十分にパワフルなユーザーは、別のプロンプトを表示することでその能力を思い出す必要があります。
SuperUserフォーラムでほぼ同じ質問に対するこの回答も参照してください。