问题
终端的所有输入的命令都报错zsh: command not found: xxx
解决问题
- 临时处理
在终端直接输入如下命令
PATH=/bin:/usr/bin:/usr/local/bin:${PATH}
它的作用恰恰是直接将当前 shell 进程的 PATH 环境变量设置为指定的路径列表。
PATH 是一个环境变量,用于指定系统在哪些目录中查找可执行文件(命令)。
"/bin:/usr/bin:/usr/local/bin:${PATH}"
是一个由冒号分隔的路径列表,表示新的 PATH 设置。${PATH} 表示将当前 PATH 的值追加到新设置的路径列表中。
总而言之,这个命令的作用就是将当前 shell 进程的 PATH 设置为 /bin:/usr/bin:/usr/local/bin
,同时保留原有 PATH 中的其他目录,确保系统在搜索可执行文件时也考虑了原有的路径,最重要的一点是确保系统能够找到并执行您希望运行的命令。
此时发现当前的终端窗口又可以输入命令了,但是这仅仅只是临时将当前终端窗口可用而已,还是没有解决根本问题,不过在此也感谢这位博主给了我解决问题的思路。
- 永久处理
首先我使用如下命令来检查zshrc配置文件(前提是使用了临时解决方案)
nano ~/.zshrc
在文件中找到类似于以下内容并确保它存在
export PATH="/bin:/usr/bin:/usr/local/bin:${PATH}"
然后保存文件并重新启动,source ~/.zshrc的作用是重新加载当前用户的 Zsh shell 配置文件 .zshrc。这个命令会立即使配置文件的更改生效。
source ~/.zshrc
至此,所有系统默认的命令就可以使用了,即便关闭终端窗口再次打开。