Der Fehler tritt auf, weil die Binärdatei, die Sie über die Befehlszeile aufrufen möchten, nur ein Teil der PATH-Variablen des aktuellen Benutzers ist, nicht jedoch ein Teil des PATH des Root-Benutzers.
Sie können dies überprüfen, indem Sie den Pfad der Binärdatei suchen, auf die Sie zugreifen möchten. In meinem Fall habe ich versucht, "bettercap-ng" zu nennen. Also rannte ich,
$ which bettercap-ng
output: /home/user/work/bin/bettercap
Ich habe überprüft, ob dieser Speicherort Teil des PFADS meines Root-Benutzers ist.
$ sudo env | grep ^PATH
Ausgabe: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Daher kann sudo die Binärdatei nicht finden, die ich über die Befehlszeile aufrufen möchte. Gibt daher den nicht gefundenen Fehlerbefehl zurück.
Sie können sudo anweisen, den PATH des aktuellen Benutzers zu verwenden, wenn Sie eine Binärdatei wie folgt aufrufen.
$ sudo -E env "PATH=$PATH" [command] [arguments]
Tatsächlich kann man daraus einen Alias machen:
$ alias mysudo='sudo -E env "PATH=$PATH"'
Es ist auch möglich, den Alias selbst sudo zu benennen und das ursprüngliche sudo zu ersetzen.
In diesem Video finden Sie eine schrittweise Anleitung