Saya perlu menambahkan direktori ke PKG_CONFIG_PATH
. Biasanya, saya akan menggunakan standar
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:$(pyenv prefix)/lib/pkgconfig
tapi PKG_CONFIG_PATH
belum diatur sebelumnya di sistem saya. Oleh karena itu, variabel dimulai dengan :
karakter, yang menyuruhnya untuk mencari di direktori saat ini terlebih dahulu. Saya tidak ingin itu. Saya memutuskan sebagai berikut,
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}${PKG_CONFIG_PATH:+:}$(pyenv prefix)/lib/pkgconfig
tapi itu sepertinya sangat jelek. Apakah ada cara yang lebih baik? Apa cara yang tepat untuk menambahkan titik dua secara kondisional jika dan hanya jika variabel telah disetel?
Jawaban yang Diterima:
Anda berada di jalur yang benar dengan ${:+}
operator ekspansi, Anda hanya perlu sedikit memodifikasinya:
V=${V:+${V}:}new_V
Tanda kurung kurawal pertama diperluas ke $V
dan titik dua iff V
sudah disetel ke nol – itulah yang Anda butuhkan (dan mungkin juga salah satu alasan keberadaan operator).
Jadi dalam kasus Anda:
export "PKG_CONFIG_PATH=${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}$(pyenv prefix)/lib/pkgconfig"