错误删除后如何将 /usr/bin 添加到路径中(sudo 和 nano 不再在路径中)

Phi*_*l_T 3 permissions sudo environment-variables bashrc

让我们摆脱这个,我做了一些愚蠢的事情。是的,愚蠢。非常愚蠢。我很清楚这是多么愚蠢。我很尴尬,我后悔这样做了。请帮忙。我正在安装一个程序,同时也在看电视,并以某种方式设法从路径中删除了 /usr/bin。不!

我正在使用 ubuntu 16.04。我通过键入将新程序 bin 添加到路径:

sudo nano ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

添加了新路径,但随后我尝试使用 sudo 进行更新,但出现此错误:

The command could not be located because '/usr/bin' is not included in the PATH environment variable.
Run Code Online (Sandbox Code Playgroud)

但是,bin 仍然存在:

 Command 'sudo' is available in '/usr/bin/sudo'
Run Code Online (Sandbox Code Playgroud)

nano 可用,ls 可用 - 全部可用 - 但不在路径中。所以,简单地尝试:

sudo nano ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

并尝试将 /usr/bin 添加到路径不是一种选择。没有 sudo 我无权打开 bashrc。我可以 cd 到 /usr/bin,但我不能 ls 任何东西,而且我不知道一旦我在那里如何访问 sudo 或 nano。./sudo, sudo.sh ./sudo.sh 都返回“未找到命令”。

如果删除它,如何将 /usr/bin 添加到路径?

编辑

我在这里找到了解决方案:我想我不小心删除了 PATH 变量

我将 PATH 替换为我添加到路径中的程序的路径。所以,在终端中输入这个让我可以再次访问 sudo 和 nano:

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Run Code Online (Sandbox Code Playgroud)

Win*_*nix 5

您可以使用路径前缀命令:

/usr/bin/sudo /bin/nano ~/.bashrc
Run Code Online (Sandbox Code Playgroud)