【Linux开发】错误更改bash.sh导致PATH环境变量被破坏所有命令不可用的解决方法

1 问题背景

在 Ubuntu 上装 Cmake 时,由于需要安装制定的版本,没有采用 sudo apt install cmake 的方式安装(只能安装3.29版本):

​ 而是从官方下载链接获取的 cmake-3.15.3-Linux-x86_64.tar.gz

在把其解压到当前用户的 Downloads目录下:

​ 此时系统命令行还无法识别 cmake 命令,所以,我们需要修改 ~/.bashrc 文件,在其尾部添加对于 PATH 环境变量的描述:

但我当时去对应目录使用 pwd 命令复制路径时,把上图中的后半部分:/bin/:$PATH 都删掉了,这就导致在使用以下命令重新加载bashrc后:

shell 复制代码
source ~/.bashrc

不但无法使用 camke 相关命令,反倒系统原本自带的一些命令,如 lsvi 等都无法使用了:

而意识到不对,再想使用例如:

shell 复制代码
vi ~/.bashrc

或者是 gedit 改回来时,就会发现,对应的命令也无法使用了:

怎么恢复回来,就成了问题!

2 问题解决

之所以没有办法使用系统的相关命令,是因为PATH 环境变量被破坏

方法一

这种方法适合所有环境 (不管是否有GUI),也是最直接的,可以直接使用命令的完整路径来修复:

shell 复制代码
/usr/bin/vim ~/.bashrc

在把修改的地方改回原样或者修正错误即可:

然后,别忘了执行以下命令重新加载

shell 复制代码
source ~/.bashrc

并且需要关闭掉所有的命令行窗口,重新打开才能起作用:

方法二

这种方法适合于有 GUI 的场景下,如虚拟机下的 Ubuntu 环境。

在习惯于 GUI 环境的我们之所以觉得这个问题比较难解决,是因为 .bashrc 是一个隐藏文件,我们无法直接在文件管理器中看到它,那就想办法打开相关的设置使得我们能够看到隐藏文件即可。

点击文件管理器的如下图所示的图标,打开 Show Hidden Files(中文版对应的应该是展示隐藏文件):

​ 再然后找到 ~/.bashrc 直接右键用系统默认的 Text Editor 打开,或者直接双击(也是使用Text Editor打开)进行修改即可。

同样不要忘了重新使用 source 命令重新加载,已经关闭所有命令行窗口才能生效。

效果与方法一是一致的,不再赘述。