sudo: eval: command not found
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.
Related videos on Youtube
PRERNA AGARWAL
Updated on October 10, 2022Comments
-
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 sudoeval $(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. almost 5 yearsWhy are you trying to run this command with sudo?
-
-
Pierre B. almost 5 yearsAnother flavor would be
eval $(sudo minikube docker-env)
-
FlexMcMurphy almost 2 yearsI had a similar problem in which
eval $(/sbin/blkid -o udev /dev/sdb1)
was giving me backbash: 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 usesed
to enclose any property values that contained spaces in single quotes:eval $(/sbin/blkid -o udev /dev/sdb1|sed 's/=/="/'|sed 's/$/"/')
then theeval $(...)
command worked from a script.