我最近开始使用 iTerm2 + Oh My Zsh 来看看它到底有什么用。虽然它很酷,但我在让它正常工作时遇到了一些问题。具体来说,它无法识别类似这样的标准命令,brew
快速wget
解决问题后,echo $PATH
问题就很明显了:
/usr/bin:/bin:/usr/sbin:/sbin
这绝对不是我的正确路径。所以我从我的 Mac 终端运行了相同的命令来获取我需要的路径,然后将其放入我的.zshrc
文件中……看来 Oh My Zsh 现在是它的总裁了。
➜ ~ cat .zshrc
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
export
PATH=/opt/homebrew/sbin:/opt/homebrew/bin:/Users/mike/.nvm/versions/node/v18.0.0/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
现在一切正常,但每次我打开 iTerm2 时,它都会将所有我不想看到的信息打印到标准输出:
COLORFGBG='7;0'
COLORTERM=truecolor
COMMAND_MODE=unix2003
HOME=/Users/mike
ITERM_PROFILE=zsh
ITERM_SESSION_ID=w0t0p0:C5A93527-6616-48F1-B2F6-752CFE16FC3C
LANG=en_US.UTF-8
LC_TERMINAL=iTerm2
LC_TERMINAL_VERSION=3.4.19
LOGNAME=mike
OLDPWD=/Users/mike
PATH=/usr/bin:/bin:/usr/sbin:/sbin
PWD=/Users/mike
SHELL=/bin/zsh
SHLVL=1
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.QpGCgTB8LE/Listeners
TERM=xterm-256color
TERM_PROGRAM=iTerm.app
TERM_PROGRAM_VERSION=3.4.19
TERM_SESSION_ID=w0t0p0:C5A93527-6616-48F1-B2F6-752CFE16FC3C
TMPDIR=/var/folders/mp/gqrct9qd5p919gd0_7clwypr0000gn/T/
USER=mike
XPC_FLAGS=0x0
XPC_SERVICE_NAME=application.com.googlecode.iterm2.77770830.77770836
__CFBundleIdentifier=com.googlecode.iterm2
__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0
➜ ~
我该如何抑制这种情况?还是因为我没有正确实施正确的路径?
答案1
您看到的是在 zsh 中不带参数调用的输出。在显示 的行之前export
有一个 lone 。export
.zshrc
PATH=…
也许您export PATH=…
错误地将其分成了两行。
通常不需要导出,因为它已经在环境中了。在尝试更改其值之前,PATH
您的输出export
将确认它已在环境中。PATH
只需删除显示的那一行export
。