sudo:eval:找不到命令

时间:2019-07-18 06:54:05

标签: docker kubernetes minikube macos-mojave

我已经在系统上安装了minikube,minikube start可以正常运行。当我想使用本地docker映像并因此尝试运行sudo eval $(minikube docker-env)时。

这给了我一个错误:

  

sudo:eval:找不到命令

对此有任何指导或解决方案吗?我正在MacOS Mojave上运行它。

5 个答案:

答案 0 :(得分:2)

您使用sudo eval $(minikube docker-env)sudo: eval: command not found,这意味着找不到evaleval是内置的shell,因此当sudo不包含-s时,它肯定会告诉您此错误,例如以下内容:

shubuntu1@shubuntu1:~/777$ sudo eval
sudo: eval: command not found
shubuntu1@shubuntu1:~/777$ sudo -s eval
shubuntu1@shubuntu1:~/777$
  • 如果要使用root帐户执行:

    $ sudo -s -H
    $ eval $(minikube docker-env)
    
  • 如果您只想使用当前帐户执行:

    $ eval $(minikube docker-env)
    

答案 1 :(得分:1)

在设置詹金斯工作流程时遇到同样的问题。以下解决方案为我工作:

代替:

  string str = "2C F4 32 3C B9 DE";
  str.erase(remove(str.begin(),str.end(),' '),str.end());
  cout << str << endl;

尝试使用:

eval $(minikube docker-env)

答案 2 :(得分:1)

来到这里的其他人可能会因为与接受的答案完全不同的原因而收到此错误。就我而言,minikube 集群没有运行。你在这种情况下得到的错误也是 command not found

只需运行命令:minikube docker-env,如果出现错误:控制平面节点必须为此命令运行只需使用 minikube start 启动它并重新运行命令 eval $(minikube docker-env)。这次应该可以了。

答案 3 :(得分:0)

就我而言,这是不间断空格的间距问题。您可以使用以下命令将其可视化:

LC_ALL=C cat -v .zshrc

删除不间断的空格“ M-BM-”解决了我的问题。

感谢this stackoverflow solution

答案 4 :(得分:0)

对我来说,麻烦在于引号: 代替 eval $( "${cm}" )

把这个

eval  $"( "${cm}" )"