コマンドラインプロンプト間に空白行を挿入する

コマンドラインプロンプト間に空白行を挿入する

コマンドラインを使用すると、しばしば非常に混乱する可能性があります。たとえば、過去のコマンドとその出力を調べるのは不便です。

コマンドプロンプトを表示する前に、毎回改行文字を追加したいと思います。このように:

<clutter>
<blank line>
name@machine:~$

私はbashシェルを使います。これはどのように達成できますか?

答え1

これを行う1つの方法は.bashrcファイルを変更することです。ファイルの末尾に以下を入れます.bashrc

PS1="\n$PS1"

動作方法を説明するために、変数にはPS1プロンプトとして表示する必要があるものが含まれています。これがすることは「の前のPS1内容に設定しPS1、その前に改行文字を追加すること」です。ほとんどのディストリビューションに適用すると、.bashrc対話型シェルを開くたびにbashがそれを実行します(ログインシェルではない - 参照)。ログインシェルと非ログインシェルの違いは何ですか?)。

答え2

あなたはそれを使用することができますプロンプトコマンド:

PROMPT_COMMAND="printf '\n';$PROMPT_COMMAND"

または:

PROMPT_COMMAND="echo;$PROMPT_COMMAND"

答え3

回避策:PS1=各Linuxシステムで設定する方法は次のとおりです.bashrc.bashrc

PS1=' 
serg@ubuntu [$(pwd)]
================================
$ '

上記の例に示すように、ユーザー名はプロンプトにハードコードされています。もちろん、エスケープシーケンスを使用することもできます。強く打つまたは他のシェル(例:ケシwhoami)が提供されていますが、より中立的なオプションは、(ユーザー名の報告)やhostname(明らかにホスト名の報告)などのコマンドにパラメータ置換を使用することです。たとえば、

PS1='
$(whoami)@$(hostname):$(pwd)
$ '

ヒント.bashrc、パラメータ拡張に関するより興味深いものについては、ここで私の答えをご覧ください。

端末を使用してバッテリーの状態を確認するには?

ターミナル/シェルをカスタムデザインにするにはどうすればよいですか?そして

コマンドプロンプトの前に端末で実行されている時計を表示するには?

関連情報