Pyenvのパスを設定する
Aug 25 2020
サーバー.bashrcファイルでPyenvのロードパスを設定しようとしています。
私はこのチュートリアルに従っていpyenvて、ロードパスに設定するように求められます
しかし、私の.bashrcファイルでは、すでに以下のコマンドが表示されています
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)"
fi
そして、それは上で共有されたチュートリアルで提供された以下のものとどう違うのですか?
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
if...fi上記のコードでblockが何をするのかわかりますか?
回答
1 kHarshit Aug 27 2020 at 07:39
これは主にbashの構文です。
#1。
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH"
と同等です
export PATH="$HOME/.pyenv/bin:$PATH"
最初の場合と同様に、という名前の変数を宣言してPYENV_ROOTから使用します。
#2。
ifそしてfi、bashでifステートメントを書く方法です。
#3。
command -v pyenvpyenvこの場合、コマンド()を実行するために使用され、-vオプションはパス名を出力します。
$ command -v python
/usr/bin/python
if command -v pyenv 1
コマンドpyenvが見つかった場合、実行することを意味しますeval "$(pyenv init -)"
#4。
ここで>/dev/null 2>&1;は、出力を破棄するために使用されます。それについてもっと読むこの答え。
したがって、コードの2つのブロックはほぼ同じですが、唯一の違いは次のとおりです。最初のブロックにはがありif-block、2番目のブロックには1つの追加コマンドがありeval "$(pyenv virtualenv-init -)"ます。