bashのプロンプト変数がPS1と呼ばれるのはなぜですか?


49

bashプロンプトの環境変数が呼び出されますPS1(通常は〜/ .bashrcに設定されます)。PS1とは何ですか?PS2はありますか?

回答:


58

PS1は、最初のプロンプト文字列(コマンドラインに表示される)である「Prompt String One」または「Prompt Statement One」の略です。

はい、PS2などがあります!この記事とArch wiki、そしてもちろんThe Bash Reference Manualを読んでください。


24
簡単に言えば、PS2は継続コマンド(複数行を使用するコマンド)用、PS3は実行中のスクリプトへの入力用、PS4はトレース/デバッグ用です。
アンスガーエステルマン

2
@AnsgarEsztermann、あなたのコメントも答えになるかもしれません(私は投票します)。
maxschlepzig

1
Re:$ PS3。その使用例は、select最初にPS3を設定してコマンドのプロンプトを変更することです。PS3="Select by typing the number: "
Peter.O

24

The Bash Reference Manualから少し言い換えたところから

PS1プライマリプロンプト文字列。デフォルト値は「\ s- \ v \ $」です。

PS2二次プロンプト文字列。すなわち、継続コマンド(複数行を使用するコマンド)の場合。デフォルト値は「>」です。

PS3この変数の値は、selectコマンドのプロンプトとして使用されます。すなわち、実行中のスクリプトへの入力用。この変数が設定されていない場合、selectコマンドは '#?'。

PS4値は、-xオプションが設定されている場合にコマンドラインがエコーされる前に出力されるプロンプトです。PS4の最初の文字は、必要に応じて複数回複製され、複数レベルのインダイレクションを示します。デフォルトは「+」です。

PS1とPS2は元のshからのもので、PS3とPS4はbashの一部として追加されました

こちらの例をご覧ください

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