echo $GOPATH
以下を印刷します。
/mnt/star/program/go/package:/mnt/star/git_repository/workspace/go_workplace
2つのディレクトリがあり、最初のディレクトリのサブディレクトリbin/
を$PATH
。
私が書くと$PATH=$PATH:$GOPATH/bin
、実際に次のディレクトリに2つのディレクトリが追加されます$PATH
。
/mnt/star/program/go/package
これにはディレクトリのみが含まれます/mnt/star/program/go/package/bin
。/mnt/star/git_repository/workspace/go_workplace/bin
これは実際に追加してはいけません$PATH
。
$GOPATH
しかし、ディレクトリが1つしか含まれていない場合もありますので、追加してください$GOPATH/bin
。
両方のシナリオに合ったソリューションを探しています。それでは、これをbash設定ファイルにどのように書きますか?
ベストアンサー1
あなたはそれを使用することができます:
PATH="$PATH:${GOPATH%%:*}/bin"
または
PATH="$PATH:${GOPATH%:*}/bin"
最大1つしか存在できないため、両方が機能します:
。
それ以降の部分は削除されます:
。したがって、最初のケースでは2番目のディレクトリが削除され、2番目の場合は同様のパターンがないため、:*
ディレクトリ名は変更されません。