設定されていない場合は、先行コロンを生成せずにPATHなどの変数に追加されます。

設定されていない場合は、先行コロンを生成せずにPATHなどの変数に追加されます。

にディレクトリを追加する必要がありますPKG_CONFIG_PATH。通常は標準を使用します。

export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:$(pyenv prefix)/lib/pkgconfig

しかしPKG_CONFIG_PATH、以前は私のシステムに設定されていませんでした。したがって、変数は:最初に現在のディレクトリを見つけるように指示する文字で始まります。私はそれをしたくありません。私は次の点を決めました。

export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}${PKG_CONFIG_PATH:+:}$(pyenv prefix)/lib/pkgconfig

しかし、あまりにも醜いです。もっと良い方法がありますか?変数が設定されている場合にのみ条件付きでコロンを追加する適切な方法は何ですか?

ベストアンサー1

スプレッド演算子を正しく使用しました${:+}。少しだけ修正してください。

V=${V:+${V}:}new_V

最初の中かっこは次に展開されます。$V そしてコロンiffはVすでに空に設定されています。これはまさに必要です(そしておそらく演算子が存在する理由の1つです)。

あなたの場合は次のとおりです。

export "PKG_CONFIG_PATH=${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}$(pyenv prefix)/lib/pkgconfig"

おすすめ記事