Unix ausführbare Dateien, die nicht in $PATH
Habe ich ein problem, wenn Sie Gehen. Hier ist mein code:
package main
import (
"fmt"
"os/exec"
)
func main() {
output, err := exec.Command("pwd").Output()
fmt.Println(string(output), err)
output, err = exec.Command("ls", "-l").Output()
fmt.Println(string(output), err)
}
Wenn ich diese ausführe, bekomme ich folgenden Fehler.
err-exec: "pwd": die ausführbare Datei nicht in $PATH;
err-exec: "ls": die ausführbare Datei nicht in $PATH
Ich bin mit Ubuntu 14.04
.
- Für mich funktioniert. Sie sollten überprüfen, dass der Benutzer, der das Programm wirklich Zugriff auf den gewünschten Befehl: kann der Benutzer nicht die, die Sie wollen/glauben...
- Überprüfen Sie Ihre Umgebungs-variable $PATH. Es könnte haben gewesen geändert in ~/.bashrc-Datei. Ansonsten ist dein code funktioniert ohne Fehler.
- danke! ist my $PFAD falsch ist, ist die Arbeit!
- Warum nicht-eine Antwort auf die offensichtliche Frage hier ist, wo ist die 'go' executable?
- was ist deine $PATH? wenn Sie immer noch Probleme haben, versuchen Sie es zu drucken aus golang
- Wie u ausführen von code?
go build
odergo run
odersudo go
? Und überprüfen Sie Ihre go-Besitzer.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst dachte ich, dass das Problem verursacht wurde, da der code nicht wohnen in
~/go/src/<bitbucket.org>/<username>/
, aber es stellt sich heraus, dass es auch erfolgreich sein, wenn es ausgeführt wird aus dem home-Verzeichnis, d.h.~/
. Wahrscheinlich, wie bereits erwähnt wurde, in den Kommentaren, die Befehlepwd
undls
waren nicht im Pfad, oder das Programm ausgeführt wurde, als ein anderer Benutzer.