mac如何命令行失效都不执行解决方法

贴主:admin 发贴:2024-05-27 11:39 浏量:20

https://blog.csdn.net/weixin_43288473/article/details/134742288?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-134742288-blog-107974336.235^v43^pc_blog_bottom_relevance_base2&spm=1001.2101.3001.4242.1&utm_relevant_index=3



发现问题

在修改配置的时候将~/.zshrc配置文件的首行或某一行写入修改了(的配置)

其实就是下图中解决问题的这一行配置export PATH="/bin:/usr/bin:/usr/local/bin:${PATH}



引发后果

导致终端的所有输入的命令都报错zsh: command not found: xxx


解决问题

临时处理

网上搜了很多大佬写的博客,可是都没有解决问题,因为很多都是以copy原有的配置文件来解决处理的,而我根本输入不了任何命令,后来看到了一位博主写的 文章 (此处如有侵权请联系删除),其中我找到了一个临时解决问题的方案(省时间的直接看永久处理部分)

在终端直接输入如下命令

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 中的其他目录,确保系统在搜索可执行文件时也考虑了原有的路径,最重要的一点是确保系统能够找到并执行您希望运行的命令。


此时发现当前的终端窗口又可以输入命令了,但是这仅仅只是临时将当前终端窗口可用而已,还是没有解决根本问题,不过在此也感谢这位博主给了我解决问题的思路。


永久处理

首先我的思路是既然所有命令都不能用那就说明是终端无法识别到系统默认安装的一些命令比如ls、vim等这些最基本的命令,无法识别到的原因无非几种,命令未安装或者无法识别到根目录,显然系统默认安装的命令不可能会没有安装,那就只可能是路径导致的无法识别到对应命令,而刚刚临时解决的方式是输入PATH=/bin:/usr/bin:/usr/local/bin:${PATH} ,这就说明命令是通过设置 PATH 后变得可用,那就可能是 zsh 的初始化文件时出现了问题,导致 PATH 没有正确设置。


首先我使用如下命令来检查zshrc配置文件(前提是使用了临时解决方案)

nano ~/.zshrc

 

在文件中找到类似于以下内容并确保它存在

export PATH="/bin:/usr/bin:/usr/local/bin:${PATH}"

 然后保存文件并重新启动,source ~/.zshrc的作用是重新加载当前用户的 Zsh shell 配置文件 .zshrc。这个命令会立即使配置文件的更改生效。

source ~/.zshrc

 

至此,所有系统默认的命令就可以使用了,即便关闭终端窗口再次打开。


总结

以上就是今天遇到的问题,希望能和大家共同学习共同分享

————————————————


                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

                        

原文链接:https://blog.csdn.net/weixin_43288473/article/details/134742288


相关回复


    暂无评论!

发表回复