
Я заметил, что мой MSYS bash не "знает" о переменных окружения, определенных в моей системе. Это означает, что если папка C:\MyStuff\bin\
находится в моем пути и содержит mycommand.exe
, то запуск mycommand
в терминале MSYS вернет ошибку, указывающую на то, что она не может быть найдена.
Как мне аккуратно "интегрировать" MSYS с остальной частью моей системы? Стоит ли этого избегать?
решение1
Как мне аккуратно «интегрировать» MSYS с остальной частью моей системы?
Я использую Cygwin
(что похоже на msys
принцип работы) и выборочно добавляю части моего PATH Windows в мой PATH bash следующим образом:
У меня есть файл ( .path_elements
), содержащий каталоги, которые мне нужны в моем пути bash:
/home/DavidPostill/bin:
/usr/local/bin:
/usr/bin:
/c/Windows/system32:
/c/Windows
Примечание: если вы добавляете строки в .path_elements
файл, они должны заканчиваться символом :
(за исключением последней строки).
Я изменил свой .bash.profile
файл следующим образом:
#DCP 20151019 comment out the original code for setting PATH
# Set PATH so it includes user's private bin if it exists
# if [ -d "${HOME}/bin" ] ; then
# PATH="${HOME}/bin:${PATH}"
# fi
#DCP 20151019
# Build up the path using the directories in ~/.path_elements
unset PATH
while read line; do
PATH="${PATH}$line";
done < ~/.path_elements
...
#DCP 20151019
# Add current directory to path
export PATH=".:${PATH}"
Теперь в моей bash
оболочке:
$ echo $PATH
.:/home/DavidPostill/bin:/usr/local/bin:/usr/bin:/c/Windows/system32:/c/Windows
$
Вы должны быть в состоянии сделать что-то очень похожее в msys
.