【问题标题】:-bash: sudo: command not found Mac OS X (EC2 CLI prob?)-bash: sudo: command not found Mac OS X (EC2 CLI prob?)
【发布时间】:2013-07-24 05:03:16
【问题描述】:

得到错误:
-bash: sudo: command not found
echo $PATH 输出PATH:EC2_HOME/bin
我正在运行 Mac OSX 10.8.3

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

【问题讨论】:

    标签: macos bash sudo


    【解决方案1】:

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

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

    这样,当您重新进入控制台时,您的PATH 将正常工作。 您可以根据需要将其他目录添加到您的$PATH

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

    【讨论】:

    • 尾部的斜线是不必要的。请注意,这会为每个新 shell 延长您的 $PATH,这通常是无害的,但很烦人。
    • 删除了不必要的斜杠
    • .bashrc 理论上是错误的地方,理想情况下你应该使用 ~/.profile ~/.bash_profile 或 ~/.bash_login (取决于你的设置),这样可能昂贵的环境设置只需运行一次,然后由运行 ~/.bashrc 的所有子 shell继承。除非设置了 ~/.bash_login 或 ~/.bash_profile,否则登录 shell 不会运行 .bashrc。
    • 感谢@KeithThompson 和@Alex North-Keys,我已经编辑了我的答案,我已经切换到zsh 很长时间了:-)
    • 哪里可以在没有终端的情况下打开 ~/.profile 或 ~/.bash_profile?
    【解决方案2】:

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

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

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

    【讨论】:

    • 希望第一个元素是/usr/bin,而不是usr/bin
    • @KeithThompson,您说得对,感谢您发现我的复制和粘贴错误。我已经更正了答案;O)
    【解决方案3】:
    1. 去壳
    2. 选择新命令
    3. 输入这个:sudo vim .bash_profile
    4. 然后输入:export PATH=/usr/bin:/usr/sbin:/bin:/usr/local/bin:/sbin:/opt/x11/bin:$PATH

    【讨论】:

      【解决方案4】:

      这对我有用:

      echo $PATH

      接着是:

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

      【讨论】:

        猜你喜欢
        • 2023-03-08
        • 2019-07-07
        • 1970-01-01
        • 2018-07-18
        • 1970-01-01
        • 2020-05-19
        • 2014-10-17
        • 2015-06-13
        相关资源
        最近更新 更多