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:/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'
您的
.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 已經在環境中,所以更新總是自動導出。
macOS 上的預設 PATH 是
PATH="/usr/bin:/bin:/usr/sbin:/sbin"
如果您在終端中執行它,您將恢復正常。
如果您修改了
.bashrc
文件或類似文件以添加或更改類似的行,請將其刪除或更改為PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:$PATH"
特別注意;**後面沒有空格
PATH=
**所有這些都是一起執行的,如果您進行了更改,則應該以相同的方式進行更改。如果你沒有,你也可以重新打開你的終端,一切都會好起來的。