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等命令,命令行恢复正常。
个人的问题记录,如有描述不足或错误欢迎指正。