sudo: eval: command not found

10,598

Solution 1

You use sudo eval $(minikube docker-env), sudo: eval: command not found this means eval not found. eval is an built-in in shell, so when sudo without -s it will surely tell you this error, like next:

shubuntu1@shubuntu1:~/777$ sudo eval
sudo: eval: command not found
shubuntu1@shubuntu1:~/777$ sudo -s eval
shubuntu1@shubuntu1:~/777$
  • If you want to execute with root account:

    $ sudo -s -H
    $ eval $(minikube docker-env)
    
  • If you just intend to execute with current account:

    $ eval $(minikube docker-env)
    

Solution 2

Ran into same issue while setting up the jenkins workflow. Below solution worked for me:

Instead of:

eval $(minikube docker-env)

Try using:

sudo -s eval $(minikube docker-env)

Solution 3

Others coming here could get this error for an entirely different reason as the accepted answer. In my case the minikube cluster was not running. The error you get in this case is also command not found.

Just run the command: minikube docker-env and if you get the error: The control plane node must be running for this command just start it using minikube start and re-run the command eval $(minikube docker-env). It should work this time.

Share:
10,598

Related videos on Youtube

PRERNA AGARWAL
Author by

PRERNA AGARWAL

Updated on October 10, 2022

Comments

  • PRERNA AGARWAL
    PRERNA AGARWAL over 1 year

    I have installed minikube on my system and minikube start works as expected for me. When I want to use local docker images and hence trying to run sudo eval $(minikube docker-env).

    This gives me an error:

    sudo: eval: command not found

    Any guidance or solution for this? I am running this on MacOS Mojave.

    • Pierre B.
      Pierre B. almost 5 years
      Why are you trying to run this command with sudo?
  • Pierre B.
    Pierre B. almost 5 years
    Another flavor would be eval $(sudo minikube docker-env)
  • FlexMcMurphy
    FlexMcMurphy almost 2 years
    I had a similar problem in which eval $(/sbin/blkid -o udev /dev/sdb1) was giving me back bash: Data: command not found because one of the USB key identifiers had spaces like this: ID_FS_PARTLABEL=Main Data Partition Your solution to use quotes like this: eval $"(/sbin/blkid -o udev /dev/sdb1)" worked for me from the command line but NOT from a script. From a script I needed to use sed to enclose any property values that contained spaces in single quotes: eval $(/sbin/blkid -o udev /dev/sdb1|sed 's/=/="/'|sed 's/$/"/') then the eval $(...) command worked from a script.