我似乎把我的终端(在 OSX 上,如果这很重要的话)弄乱了。当我尝试时SSH
我得到-bash: ssh: command not found
使用向我建议的命令后,declare -p PATH
我得到了declare -x PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:"
现在我不知道我做了什么以及如何解决它。我在这个领域不是很了解,并且非常沮丧,因为我显然涉足了一些我应该不去管的事情。
(编辑,忘记带上一些其他内容)当我运行时PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin PS4=':${BASH_SOURCE}:$LINENO+' bash -x -l -i
,结果输出包含~/.bash_profile
:
/Users/Name/.bash_profile:1+export PATH= /usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin}
:/Users/Name/.bash_profile:1+PATH= bash: export: ``/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin': not a valid identifier
:/Users/Name/.bash_profile:5+PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin: :/Users/Name/.bash_profile:6+export PATH'
答案1
macOS 上的默认路径是
PATH="/usr/bin:/bin:/usr/sbin:/sbin"
如果你在终端中运行它,你就会恢复正常。
如果您修改了.bashrc
文件或类似文件以添加或更改类似的行,请将其删除或更改为
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:$PATH"
特别注意的是后面没有空格PATH=
;它们都是一起运行的,如果您进行了更改,您的更改应该以相同的方式构建。如果没有,您也可以重新打开终端,一切都会好起来的。
答案2
您的.bash_profile
似乎包含:
export PATH= /usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin}
这有两个问题:
- 值之后和之前的空格
=
导致该值成为 的单独参数export
,不是的新值的一部分PATH
。因此,export
看到的是PATH=
(将 PATH 设置为空字符串)和/usr/local/sbin:...
(根本不是赋值,因此被忽略)。 - 关闭
}
肯定是不希望的。
因此,您应该修改该文件以包含:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
...或者,更简单地说:
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
...因为此处不需要导出:因为 PATH 已在环境中,所以更新始终会自动导出。