每当我打开 bash 终端时,无论使用哪个终端客户端,我的输出都会被一堆declare -x
列出各种环境变量的消息淹没。以下是一个例子:
declare -x COLORTERM="truecolor"
declare -x COMMAND_MODE="unix2003"
declare -x HISTFILESIZE="57265949261"
declare -x HOME="/Users/(redacted)"
declare -x LC_ALL="en_US.UTF-8"
declare -x LOGNAME="(redacted)"
declare -x OLDPWD
declare -x PATH="path variable lol"
declare -x PWD="/Users/(redacted)/Downloads"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_AUTH_SOCK="/private/tmp/com.apple.launchd.uIiqL6BM38/Listeners"
declare -x TERM="xterm-256color"
# etc
重要的提示:我使用的是5.1.12(1)-release
通过 homebrew 安装的bash 版本/usr/local/bin/bash
。但是,我使用此替代 bash 安装没有遇到任何其他问题。当我使用它的命令(如bash
)以交互模式执行任何 shell 时,我没有收到输出垃圾邮件。
在此先感谢您的帮助!
答案1
export
如果在一行中有一个单独的输出,则可能会发生您看到的输出:
$HOME/.bashrc
$HOME/.bash_profile
/etc/profile
您可以尝试以下步骤:
您可以尝试做的第一件事是
export
在 shell 提示符下输入其自身,看看它是否会产生相同的输出。然后检查
export
这些文件中是否有一行(以上所列):grep -HnE $'^( )*export( |\t)*$' $HOME/.bashrc $HOME/.bash_profile /etc/profile
(上面的 grep 命令用于检查单词 export 本身,该单词在行尾前或后是否有 0 个或更多空格或制表符,这种方式适用于 Mac 甚至 Linux)
然后,您可以注释掉文件中显示匹配的行。