Vejo duas maneiras diferentes de adicionar caminho no Linux. Por exemplo,
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export PATH=/usr/local/cuda/bin:$PATH
Embora eu esteja claramente ciente da segunda maneira, o que a primeira maneira está fazendo? Quais são as vantagens sobre o segundo?
Quando
PATH
está vazio, então:Resulta em
O vazio
:<nothing>
indica o diretório de trabalho atual , consulte https://www.gnu.org/software/bash/manual/bash.html#index-PATH . O código adicionou o diretório de trabalho atual e cuda ao caminho. Isso não é intencional.Em vez disso, você deseja adicionar
:
apenas se PATH não estiver vazio. Isso é o que${PATH:+:${PATH}}
consegue.