须藤:评估:找不到命令

sudo: eval: command not found

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

这给了我一个错误:

sudo: eval: command not found

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

您使用sudo eval $(minikube docker-env)sudo: eval: command not found这意味着eval没有找到。 eval 是 shell 中的 built-in,所以当 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)
    

运行 在设置 jenkins 工作流程时遇到同样的问题。以下解决方案对我有用:

而不是:

eval $(minikube docker-env)

尝试使用:

sudo -s eval $(minikube docker-env)

就我而言,这是 non-breaking space 的间距问题。您可以使用以下命令可视化这些:

LC_ALL=C cat -v .zshrc

删除 non-breaking space “M-BM- ” 解决了我的问题。

感谢

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

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

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

放这个

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

echo ssh-agent -s > .tmp_ssh_agent

source .tmp_ssh_agent

这对我有用,而不是 eval (可能对你有帮助)