GOPATHの最初のディレクトリのbinサブディレクトリをPATHに追加するには?

GOPATHの最初のディレクトリのbinサブディレクトリをPATHに追加するには?

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番目の場合は同様のパターンがないため、:*ディレクトリ名は変更されません。

おすすめ記事