Попытка устранить ошибку, которую я получаю (пытается запустить программу, использующую cuda nvidia), руководство CUDA по началу работы говорит:
Настроить среду разработки, изменив переменные PATH и LD_LIBRARY_PATH :$ export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}}
$ export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
Ссылка: http://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#ixzz553mlsUKP
Я должен заменить один из «ПУТЕЙ» с фактическим путем?
Я очень новичок в Linux в целом, заблаговременно за ваше время и терпение.
Нет, вы должны набирать его дословно (за исключением ведущего $, который предназначен только для указания приглашения вашей оболочки).
Последовательность ${PATH:+:${PATH}} является расширением параметра - it просто бывает сложным для синтаксического анализа, потому что один из : s является частью синтаксиса расширения, а другой - литералом.
Основной синтаксис - ${parameter:+word}, который, как объясняется в BashGuide : Параметр Расширение означает
Если «параметр» равен нулю или не задан, ничего не заменяется, иначе слово «(которое может быть расширением) заменяется.В приведенном выше контексте расширение параметра есть PATH, а слово - :${PATH}. Таким образом, если PATH пуст или не задан (что очень маловероятно BTW), тогда экспорт становится просто
export PATH=/usr/local/cuda-9.1/bin
, тогда как если PATH не пуст, он становится
export PATH=/usr/local/cuda-9.1/bin:$PATH
т.е. добавляет /usr/local/cuda-9.1/bin к вашему существующему пути с обязательным разделителем двоеточия.
TL; DR это умный способ предотвратить добавление ложного трейлинга : в (редком) случае, когда переменная PATH пуст или не установлен.
Нет, вы должны набирать его дословно (за исключением ведущего $, который предназначен только для указания приглашения вашей оболочки).
Последовательность ${PATH:+:${PATH}} является расширением параметра - it просто бывает сложным для синтаксического анализа, потому что один из : s является частью синтаксиса расширения, а другой - литералом.
Основной синтаксис - ${parameter:+word}, который, как объясняется в BashGuide : Параметр Расширение означает
Если «параметр» равен нулю или не задан, ничего не заменяется, иначе слово «(которое может быть расширением) заменяется.В приведенном выше контексте расширение параметра есть PATH, а слово - :${PATH}. Таким образом, если PATH пуст или не задан (что очень маловероятно BTW), тогда экспорт становится просто
export PATH=/usr/local/cuda-9.1/bin
, тогда как если PATH не пуст, он становится
export PATH=/usr/local/cuda-9.1/bin:$PATH
т.е. добавляет /usr/local/cuda-9.1/bin к вашему существующему пути с обязательным разделителем двоеточия.
TL; DR это умный способ предотвратить добавление ложного трейлинга : в (редком) случае, когда переменная PATH пуст или не установлен.
Нет, вы должны набирать его дословно (за исключением ведущего $, который предназначен только для указания приглашения вашей оболочки).
Последовательность ${PATH:+:${PATH}} является расширением параметра - it просто бывает сложным для синтаксического анализа, потому что один из : s является частью синтаксиса расширения, а другой - литералом.
Основной синтаксис - ${parameter:+word}, который, как объясняется в BashGuide : Параметр Расширение означает
Если «параметр» равен нулю или не задан, ничего не заменяется, иначе слово «(которое может быть расширением) заменяется.В приведенном выше контексте расширение параметра есть PATH, а слово - :${PATH}. Таким образом, если PATH пуст или не задан (что очень маловероятно BTW), тогда экспорт становится просто
export PATH=/usr/local/cuda-9.1/bin
, тогда как если PATH не пуст, он становится
export PATH=/usr/local/cuda-9.1/bin:$PATH
т.е. добавляет /usr/local/cuda-9.1/bin к вашему существующему пути с обязательным разделителем двоеточия.
TL; DR это умный способ предотвратить добавление ложного трейлинга : в (редком) случае, когда переменная PATH пуст или не установлен.