Mac终端命令失效( command not found)/

 ls  vi  vim 输入完来一句command not found xx  心哇凉哇凉的,心态都崩了。

guoliang@gldeMacBook-Pro ~ % cat
zsh: command not found: cat
guoliang@gldeMacBook-Pro ~ % ls
zsh: command not found: ls
guoliang@gldeMacBook-Pro ~ % mdfind
zsh: command not found: mdfind
guoliang@gldeMacBook-Pro ~ % docker
zsh: command not found: docker
guoliang@gldeMacBook-Pro ~ % kubectl
zsh: command not found: kubectl
guoliang@gldeMacBook-Pro ~ % mv
zsh: command not found: mv
guoliang@gldeMacBook-Pro ~ % vim
zsh: command not found: vim
guoliang@gldeMacBook-Pro ~ % vi
zsh: command not found: vi
guoliang@gldeMacBook-Pro ~ %

想了想出现问题前,我更改了系统的环境变量,重置了路由表,不清楚是否有关,然后就百度,百度给出的解决方案如下

先输入这条命令让终端命令临时回复

export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin

然后  修改用户级别配置文件

sudo vim ~/.bash_profile

在第一行添加

export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

输入完毕 保存退出,然后source ~/.bash_profile

这种方式就是指定了你的PATH的环境变量,当用户执行命令先加载bash_profile中的配置,然后我们配置的PATH生效,之后命令就能回复正常了。

但这种方式是治标不治本的

我在解决本机问题的时候,查看到用户级别的~/.bash_profile并没有什么特别的配置,接着我就怀疑系统级别的配置文件

然后终端cat ./bashrc

guoliang@gldeMacBook-Pro ~ % cat .zshrc
source ~/.bash_profile
autoload -Uz compinit && compinit -i
module_init

看第一行 source ~/.bash_profile 当加载到系统变量的时候,配置让他优先去执行用户级别的配置。   看着无关紧要,但我尝试把他注释之后,命令回复正常。

guoliang@gldeMacBook-Pro ~ % cat .zshrc
#source ~/.bash_profile
autoload -Uz compinit && compinit -i
module_init

接着我有重新启动一个终端,尝试cat  ls等命令,命令行恢复正常。 

Mac终端命令失效( command not found)/

个人的问题记录,如有描述不足或错误欢迎指正。

上一篇:SQLserver


下一篇:C# 利用反射实现深拷贝