在 OS X 上启动终端时出现 sed 错误

在 OS X 上启动终端时出现 sed 错误

在标准 Terminal.app 或 iTerm2 中启动 bash 或 zsh 时收到这些错误消息

sed: 1: "\#^system_type=# { s#^s ...": extra characters at the end of p command
sed: 1: "\#^system_type=# { s#^s ...": extra characters at the end of p command
sed: 1: "\#^system_name=# { s#^s ...": extra characters at the end of p command
sed: 1: "\#^system_name=# { s#^s ...": extra characters at the end of p command
sed: 1: "\#^system_name_lowercas ...": extra characters at the end of p command
sed: 1: "\#^system_name_lowercas ...": extra characters at the end of p command
sed: 1: "\#^system_version=# { s ...": extra characters at the end of p command
sed: 1: "\#^system_version=# { s ...": extra characters at the end of p command
sed: 1: "\#^system_arch=# { s#^s ...": extra characters at the end of p command
sed: 1: "\#^system_arch=# { s#^s ...": extra characters at the end of p command

我该如何修复它?

答案1

检查.bash_profile主目录中的文件。每当终端启动时,都会读取此文件中的命令。

有问题的sed命令应该位于该文件中,如果没有,则检查/etc/profile forsed 命令。

答案2

这意味着您sed的某个 shell 初始化文件中有一些不正确的命令。由于您使用的是 bash 和 OSX,因此该文件将是~/.profile~/.bash_profile/etc/profile、之一/etc/environment(尽管后者的可能性极小)。要找出哪一个,请运行

grep system_type ~/.profile ~/.bash_profile /etc/profile /etc/environment

您还将其标记为zsh。我知道 OSX 默认运行 bash 登录 shell,但我不知道他们是否对 做了同样的事情zsh。假设他们没有并zsh启动正常的非登录 shell,您~/.zsshrc至少应该检查一下。不确定其他启动文件zsh来源。

相关内容