it-swarm-ja.com

GOがマシンにインストールされているかどうかを確認する

シェルスクリプトを作成していて、コマンドgo get github.com/aktau/github-releaseを使用してgithubから何かをプルする必要がありますが、最初に、スクリプトを呼び出す人が自分のマシンにGOがインストールされていることを確認する必要があります。インストールされていない場合、スクリプトはエラーになり、GOをインストールしてからスクリプトを再実行するように指示します。

echo $GOPATHだけでいいと思っていたのですが、GOPATHを定義しなくてもGOをインストールできます。

どうすればこれを行うことができますか?

3
Patrick Conway

PATH環境変数を確認する必要があります。詳細な説明については、 この回答 を参照してください。

bashがシェル/ハッシュバンである場合、一貫してhash(コマンドの場合)またはtype(組み込みとキーワードを考慮するため)を使用します。 POSIXスクリプトを作成するときは、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; }
1
Tran Situ