web-dev-qa-db-ja.com

シェルのパーセント記号プロンプトとは何ですか?

ビデオを見ていると、次のことがわかりました。

% more tinyUF.txt
10
4 3
3 8
6 5

これは何ですか %moreコマンドの前に署名しますか?

16
Maxim Koretskyi

それがシェルプロンプトです。正確には、シェルのprimaryプロンプト( いくつかあります )です。これは、シェルが「先に進みます。これで入力の準備ができました」と言います。

%プロンプトはcsh- typeシェルで一般的ですが、sh- shells(bashksh93など)は通常、$をプロンプトとして使用します。

十分に強力なユーザーは、代替のプロンプトを使用することでそのパワーを思い出す必要があるため、通常、プロンプトはrootユーザーの#に変わります(としてPOSIX標準はそれを置く)。

sh- typeシェルのプライマリプロンプトは、シェル変数PS1の値によって決まります。


以下のコメントの要約と追加:

ルートプロンプトの#文字(shシェルとcshシェルの両方で使用)は、一般的なシェルコメント文字と偶然一致しています。コマンドをrootとしてコピーして貼り付けると、シェルプロンプトもコピーされた場合、貼り付けられたコマンドが機能しなくなります。シェルがコメント規則を持つ前に、#がルートプロンプトとして採用されたことに注意してください(参照: Doug McIlroyからのメール )。

Plan 9のesおよびrcシェルは、;文字をデフォルトのプロンプトとして使用します。この結果、プロンプトを含むコマンドをコピーして貼り付けても、貼り付けられたコマンドが有効であることを意味します(実行されます)。

カスタムを使用できるようにする方法ですが、コピー貼り付け可能なシェルプロンプトは、: something ;を使用することになります。ここで、somethingは、現在のディレクトリ、ホスト名、時間などです。

29
Kusalananda