シェルスクリプトを作成していて、コマンドgo get github.com/aktau/github-release
を使用してgithubから何かをプルする必要がありますが、最初に、スクリプトを呼び出す人が自分のマシンにGOがインストールされていることを確認する必要があります。インストールされていない場合、スクリプトはエラーになり、GOをインストールしてからスクリプトを再実行するように指示します。
echo $GOPATH
だけでいいと思っていたのですが、GOPATHを定義しなくてもGOをインストールできます。
どうすればこれを行うことができますか?
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; }