Mac High Sierra终端执行任意命令均报“No such file or directory”求助
解决Mac High Sierra终端执行命令提示“No such file or directory”的问题
别慌,这种情况大概率是系统的PATH环境变量被搞乱了——终端找不到命令的默认执行路径了。我给你几个一步步排查修复的办法:
先临时恢复可用的命令
因为现在终端找不到常规命令,你可以手动指定命令的完整路径来执行操作。比如想清屏的话,直接输入:/usr/bin/clear
要是需要编辑配置文件,也得用完整路径打开编辑器,比如打开bash的配置文件:/usr/bin/nano ~/.bash_profile检查并修复PATH环境变量
终端之所以找不到命令,核心原因是PATH里没包含系统默认的命令存放路径。正常的Mac系统PATH至少得有/usr/bin、/bin、/usr/sbin、/sbin这些路径。- 先查看当前的PATH设置:
/usr/bin/echo $PATH
如果输出里看不到上面说的那些默认路径,就必须修正了。 - 打开你的shell配置文件(用bash的话是
~/.bash_profile,用zsh的话是~/.zshrc),在文件里添加或者修改PATH的配置行:
推荐添加这一行,把系统默认路径放在最前面,确保优先查找:export PATH="/usr/bin:/bin:/usr/sbin:/sbin:$PATH" - 保存退出nano编辑器:按
Ctrl+O,回车确认保存,再按Ctrl+X退出。 - 让新的配置立刻生效:
用bash的话输入:/usr/bin/source ~/.bash_profile
用zsh的话输入:/usr/bin/source ~/.zshrc
- 先查看当前的PATH设置:
验证修复效果
现在试试输入clear、ls这些简单命令,应该能正常执行了。再输入echo $PATH检查一下,确认那些默认路径已经出现在输出里。如果还是不行?试试重启终端或者系统
有时候配置的更改需要重启终端才能完全生效,要是试了上面的步骤还是有问题,重启一下Mac,基本就能解决了。
内容的提问来源于stack exchange,提问作者Vicky




