1

pyenv + pyenv-virtualenvをセットアップすると、現在の python バージョン名または pyvenv/virtualenv 名が自動的にコマンド プロンプトに追加されたようです。素晴らしい、非常に便利です。

if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi

~/.bash_profile にgit-completion.bashgit-prompt.shを追加しました

# Enable tab completion
source ~/.git-completion.bash

# colors!
red="\[\033[1;31,\]"
green="\[\033[0;32m\]"
blue="\[\033[0;34m\]"
purple="\[\033[0;35m\]"
cyan="\[\033[1;36m\]"
reset="\[\033[0m\]"

# Change command prompt
source ~/.git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
# '\u' adds the name of the current user to the prompt
# '\$(__git_ps1)' adds git-related stuff
# '\W' adds the name of the current directory
export PS1="$purple\u $cyan>>>$green\$(__git_ps1)$blue \W \$ $reset"

順序に関係なく、pyenv はプロンプトに含まれません。私は、pyenvがプロンプト文字列が設定されているものにタックして、gitの後にそれを含めることでそれ自体を挿入できるようにすることを望んでいました。

git のものの上に pyenv コードを含め、$pyenv local出力をキャプチャして変数として追加しようとしましたが、Bash のスキルが不足しています。シェル プロンプト エクスポート コードの pyenv コードを探しに行きましたが、やはり Bash のスキルが不足しています。

pyenv バージョンをプロンプトに再キャプチャ/挿入する正しい方法はありますか?

私は次の行に沿って何かを取得しようとしていました:

\u(username) >>> (pyenv/py(venv)-version) | (__git_ps1) | \w(pwd) \$

ありがとう、

4

1 に答える 1

1

$(pyenv version-name)の適切な場所に貼り付けるだけ$PS1です。何かのようなもの:

export PS1="\u >>> $(pyenv version-name) $(__git_ps1) \w\$ "

(必要に応じて色を追加します。)

于 2016-04-11T14:08:36.630 に答える