Devo aggiungere una directory a PKG_CONFIG_PATH
. Normalmente, userei lo standard
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:$(pyenv prefix)/lib/pkgconfig
ma PKG_CONFIG_PATH
non è stato precedentemente impostato sul mio sistema. Pertanto, la variabile inizia con un :
carattere, che gli dice di cercare prima nella directory corrente. Non voglio quello. Ho optato per quanto segue,
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}${PKG_CONFIG_PATH:+:}$(pyenv prefix)/lib/pkgconfig
ma sembra proprio brutto. C'è un modo migliore? Qual è il modo appropriato per aggiungere condizionalmente i due punti se e solo se la variabile è già stata impostata?
Risposta accettata:
Sei sulla strada giusta con il ${:+}
operatore di espansione, devi solo modificarlo leggermente:
V=${V:+${V}:}new_V
Le prime parentesi si espandono in $V
e i due punti se V
è già impostato altrimenti su nulla, che è esattamente ciò di cui hai bisogno (e probabilmente anche uno dei motivi dell'esistenza dell'operatore).
Quindi nel tuo caso:
export "PKG_CONFIG_PATH=${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}$(pyenv prefix)/lib/pkgconfig"