
コマンドラインを使用すると、しばしば非常に混乱する可能性があります。たとえば、過去のコマンドとその出力を調べるのは不便です。
コマンドプロンプトを表示する前に、毎回改行文字を追加したいと思います。このように:
<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
、パラメータ拡張に関するより興味深いものについては、ここで私の答えをご覧ください。