タイトルが残念です。私に何が起こったのかをよりよく伝える方法はありません。状況は次のとおりです。bash
、wezterm
(ターミナルエミュレータ)とstarship
(カスタマイズ可能なプロンプト)。ただし、何らかの理由で新しい端末を開くたびに常に在庫/基本プロンプトが表示され、更新を受け取るにはEnterキーを押すか何かを入力する必要があります。ここで何が起こっているのかわかりません。
ご覧のとおり、最初の行はスタイルが適用されていない行で、2番目の行はスタイルをどのように表示するかを示します。
私の観察は次のとおりです
- 新しい端末を開くと、常にこれが発生します。
- このコンピュータにSSHで接続すると、これは起こらないようです。
- Muxを介して端末内で新しい端末を開くと、これは発生しません。
zellij
奇妙なことは、何も入力した後に正しく機能することです。だからデバッグする方法がわかりません。何か奇妙なことが起こっているかもしれませんが、どのように機能するのかわかりません。
私のbashの設定は次のとおりです。ここで発見しかし、ここでは最も重要な文書について簡単に説明します。
私のものbash_profile
、ただのソース私のもの.bash_rc
source ~/.bashrc
私のもの.bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
if [ -e ~/.bash_aliases ]; then
source ~/.bash_aliases >/dev/null 2>&1
fi
case $- in
*i*) ;;
*) return ;;
esac
.. truncated, other stuff is the default that comes in bashrc basically
ついに.bash_aliases
unalias -a
set -o vi
...
# Have to install bash-preexec as well
[[ -e ~/.bash-preexec.sh ]] && source ~/.bash-preexec.sh
# here are the evals and they are 100% evaluated
source ~/.config/wezterm/wezterm.sh
eval "$(starship init bash)"
[[ -e ~/.config/personal/bash/alias_personal ]] && \. ~/.config/personal/bash/alias_personal
図書館自体の問題かもしれませんが、その可能性は非常に高いです。この動作は設定を操作した後に発生し始め、現在数ヶ月が経過しました。
答え1
Starship は実行されるたびにその設定を適用します。どのコマンド(参照starship init bash - 完全なコード印刷たとえば、設定$PROMPT_COMMAND
)、しかし私が知っている限り、または.bashrc
ではありません.bash_profile
。これは非常に非効率的であるだけでなく、コマンドを実行する前にプロンプトを設定できないことを意味します。ここでは空のコマンド(Enterキーを押すなど)が許可されていますが、ポイントは何かをする必要があることです。
つまり、この方法。
個人的に私が望むものが素晴らしいプロンプトだけなら、ただ設定して~/.bashrc
ログイン~/.bash_profile
時に呼び出すことになります。