在终端中找不到 ssh 命令

在终端中找不到 ssh 命令

我似乎把我的终端(在 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:/sb‌​in:/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 已在环境中,所以更新始终会自动导出。

相关内容