Prüfen, ob GO auf der Maschine installiert ist

881
Patrick Conway

Ich schreibe ein Shell-Skript, und ich muss mit dem Befehl etwas von github abrufen go get github.com/aktau/github-release, aber ich muss zuerst sicherstellen, dass die Person, die das Skript aufruft, GO auf ihrem Rechner installiert hat. Wenn sie nicht installiert sind, wird mein Skript einen Fehler ausgeben und sie anweisen, GO zu installieren und dann das Skript erneut auszuführen.

Ich dachte, ich sollte es einfach echo $GOPATHtun, aber die Leute können GO installieren, ohne dass ihr GOPATH definiert ist.

Wie soll ich das machen?

1

1 Antwort auf die Frage

0
Tran Situ

Sie sollten die PATHUmgebungsvariable überprüfen . Siehe diese Antwort für eine ausführliche Erklärung.

Wo bashist Ihre Shell / Hashbang, verwenden Sie konsistent hash(für Befehle) oder type(für integrierte Eingaben und Schlüsselwörter). Verwenden Sie beim Schreiben eines POSIX-Skripts command -v.

$ command -v foo >/dev/null 2>&1 || { echo >&2 "I require foo but it's not installed. Aborting."; exit 1; } $ type foo >/dev/null 2>&1 || { echo >&2 "I require foo but it's not installed. Aborting."; exit 1; } $ hash foo 2>/dev/null || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }