シェルプロンプトでカーソルを自動的に表示する方法

シェルプロンプトでカーソルを自動的に表示する方法

カーソルをシェルターミナルプロンプトにインポートするには、次の一連のコマンドを実行します。

$ NL='              # << press enter
'                   # << press enter again
$ PS1=${PS1}${NL}

ログインするたびにこれを行う必要があります。どのように自動化できますか?同じドアを追加し~/.profileて再起動してみました。不運。

編集する:

私がしたことは次のとおりです。 (I create it)に次の(私のお気に入りのbashプロンプト)行を追加しました~/.bashrc

export PS1="===================\n\n\d \A \u@\H [\w]\n\\$ \[$(tput sgr0)\]"

答え1

使用NL=$'\n'$NLまた、使用するときに二重引用符が必要です(または$PS1含まれる内容に応じて、おそらく...とにかく二重引用符で囲んでください)。

たとえば、あなたのアイテムに追加します~/.bash_profile(または~/.profile必要に応じて)。

NL=$'\n'
PS1="${PS1}${NL}"

ちなみに、長期的に見れば、更なる改行により、どれだけの貴重な垂直端末空間が無駄になるのかがわかります。画面は高さよりはるかに広い傾向があるため(たとえば、16:9のアスペクト比の一部の一般的な解像度は1920x1080または2560x1440ですが、16:10の一般的な解像度は1920x1200または2560x1600です)、したがって垂直スクリーンスペースはよりまれでより価値がありますがあります。 。無駄なスペースが多いほど、画面にすぐに表示される有用な情報は少なくなります。

答え2

明示的にメッセージを表示できる項目は次のとおりです。

PS1='\u@\h:\w\n\$ '

バラよりhttps://www.gnu.org/software/bash/manual/bashref.html#Controlling-the-Prompt

サムラインプロンプトは私にとってうまくいきます。

関連情報