Mac OS X出现“-bash: sudo: command not found”错误(EC2 CLI问题?)

5

出现以下错误:
-bash:sudo:命令未找到
echo $PATH 输出 路径: EC2_HOME/bin
我正在运行Mac OSX 10.8.3。

即使对于像我这样的新手来说,这似乎也是错误的。 如何修复我的$PATH并将计算机恢复到以前的状态?

4个回答

13

如评论中所述,设置$PATH变量的正确文件为:~/.profile~/.bash_profile

export PATH=/usr/bin:/usr/sbin:/bin:/usr/local/bin:/sbin:/opt/x11/bin:$PATH

这样一来,当您再次进入控制台时,您的PATH就会正常工作。 您可以根据需要将其他目录添加到$PATH中。

如果您只是在活动控制台中复制并粘贴该行,您只会暂时设置PATH变量, 当您注销并再次登录时,您将失去您的路径,因此请将其添加到您的~/.bashrc文件中。


1
结尾的斜杠是不必要的。请注意,这将为每个新的 shell 增加 $PATH 的长度,这基本上是无害但令人烦恼的。 - Keith Thompson
1
移除不必要的尾随斜杠。 - Atropo
.bashrc 这个文件不是做这件事的理想选项,最好使用 /.profile、/.bash_profile 或者 ~/.bash_login(取决于你的设置方式)来执行潜在昂贵的环境设置,这样一次性运行就可以被所有运行 ~/.bashrc 的子 shell 继承。并且登录 shell 不会执行 .bashrc 文件,除非 ~/.bash_login 或者 ~/.bash_profile 设置了这一操作。 - Alex North-Keys
1
感谢@KeithThompson和@Alex North-Keys,我已经编辑了我的答案,我从太长时间里切换到了zsh :-) - Atropo
在哪里可以打开/.profile或/.bash_profile而不需要终端? - Gilberto Ibarra

1

我不确定你是如何进入那种状态的,但this article解释了如何设置路径。

如果有帮助的话,我的echo $PATH输出为:-

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin

1
希望第一个元素是/usr/bin,而不是usr/bin - Keith Thompson
1
@KeithThompson,你说得完全正确,感谢你发现我复制粘贴的错误。我已经更正了答案 ;O) - TheDarkKnight

1
  1. 进入 shell
  2. 选择新命令
  3. 输入以下内容:sudo vim .bash_profile
  4. 然后输入:export PATH=/usr/bin:/usr/sbin:/bin:/usr/local/bin:/sbin:/opt/x11/bin:$PATH

0
这对我有用:
echo $PATH
然后是:
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接