为什么我的zsh在启动时会有这些文本?

时间:2019-06-20 14:30:06

标签: zsh iterm2

前几天我正在安装RoR,当我打开iterm2时,这是在启动时: enter image description here

这是在我的.bash_profile

# Setting PATH for Python 3.7
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"

export WORKON_HOME=$HOME/.virtualenv
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenv
alias python='/usr/local/bin/python3'
echo 'export PATH="/usr/local/sbin:$PATH"'
alias q='exit'

echo 'export PATH="/usr/local/sbin:$PATH"'
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export GEM_HOME=~/.ruby

# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"


export PATH=/Users/highcenoid/gems/bin:/usr/local/opt/sqlite/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

在我的.zshrc上:

export PATH=$HOME/bin:/usr/local/bin:$PATH
export ZSH="/Users/user/.oh-my-zsh"
ZSH_THEME="powerlevel9k/powerlevel9k"
DISABLE_AUTO_TITLE="true"
ENABLE_CORRECTION="true"
plugins=(git django npm node pip python yarn brew virtualenv)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status virtualenv)
source $ZSH/oh-my-zsh.sh
export MANPATH="/usr/local/man:$MANPATH"
[[ -f /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/serverless.zsh ]] && . /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/serverless.zsh
[[ -f /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/sls.zsh ]] && . /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/sls.zsh
[[ -f /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/slss.zsh ]] && . /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/slss.zsh
export DEFAULT_USER="$(whoami)"
export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
export PATH="$PATH:$HOME/.rvm/bin"

这是我的virtualenv

#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 
'virtualenv==16.4.3','console_scripts','virtualenv'
__requires__ = 'virtualenv==16.4.3'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('virtualenv==16.4.3', 'console_scripts', 
'virtualenv')()
    )

我还需要显示什么?

1 个答案:

答案 0 :(得分:0)

发生了什么事?

您的.zshrc看起来不错,但是您的.bash_profile中存在问题。 Shell配置文件只是Shell启动时执行的Shell脚本。在.bash_profile

的这一行中
source /usr/local/bin/virtualenv
virtualenv文件的内容包含在外壳程序脚本中(source类似于其他语言的包含或导入)。而且将任何其他语言源包含到shell脚本中总是会导致错误。

为什么?

我不知道应该如何安装和启动virtualenv,但这显然是错误的。我的第一个猜测是virtualenv应该是一个shell脚本,但是有些东西用python内容覆盖了它。或者-virtualenv的内容还可以,但是不应通过将其来源到.bash_profile中来启动,而应在此处执行。

确定,但是我该如何解决?

如果我的第一个猜测是正确的,那么没什么事可做。也许重新安装与virtualenv相关的东西可能会有所帮助。

但是在第二种情况下-将上述 source 行更改为

/usr/local/bin/virtualenv

保存文件,这应该可以解决问题。这告诉您不包括virtualenv而是要执行它。

PS。导出PATH = ...

最后两行

export PATH="/usr/local/sbin:$PATH"
export PATH="/usr/local/sbin:$PATH"

出现,因为您的.bash_profile再说一次。有两行:9和12

echo 'export PATH="/usr/local/sbin:$PATH"'

echo就像其他语言的印刷品一样。因此,这告诉Shell打印一些静态字符串。如果您不喜欢,可以删除这些行或将#放在它们前面,以将其注释掉。