我试图在服务器.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块在上面显示的代码中做了什么吗?
发布于 2020-08-27 07:39: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 pyenv用于执行命令(pyenv),在本例中,-v选项打印路径名。
$ command -v python
/usr/bin/pythonif command -v pyenv 1意味着如果找到命令pyenv,则执行eval "$(pyenv init -)"
#4.
在这里,>/dev/null 2>&1;用于丢弃输出。阅读更多关于它的这个答案。
因此,两个代码块几乎是相同的,唯一的区别是:第一个代码块有一个if-block,第二个代码块有一个额外的命令eval "$(pyenv virtualenv-init -)"。
https://stackoverflow.com/questions/63590428
复制相似问题