Когда я which mex
в системе Linux это дает путь , но я хочу , чтобы изменить этот путь к другому. Как я могу установить этот путь по умолчанию в другое место?
1 ответ
На определенной системе я получаю этот вывод:
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Это означает, что при выполнении команды
$ foo
оболочка будет искать исполняемые файлы в следующем порядке:
/usr/local/bin/foo
/usr/bin/foo
/bin/foo
/usr/local/games/foo
/usr/games/foo
и запустить первый встреченный.
which foo
будет возвращать путь первого из этих совпадений, или ничего, если исполняемый файл с именем foo
не существует в каталогах PATH
(обратите внимание на ключ which -a
который будет возвращать все совпадения по порядку, а не только первое).
Например, вы можете изменить порядок каталогов в переменной PATH
чтобы изменить порядок поиска, но это, вероятно, не решение вашего "реального" вопроса. Если у вас есть исполняемый файл в каталоге с более высоким приоритетом, который "затеняет" нужный файл, вы можете либо удалить первый, либо просто выполнить файл с более низким приоритетом с полным путем.
Я узнаю mex
как часть установки Matlab. Пытаясь угадать, что вы хотите сделать, возможно, вы могли бы временно изменить PATH
для одного запущенного процесса как такового:
$ PATH=/home/user/myownexecs:$PATH matlab
где /home/user/myownexecs/mex
- это исполняемый файл mex
вы хотите иметь приоритет. Это временно изменит переменную PATH
для процесса matlab
, но не окажет постоянного влияния на систему в целом.
Вы должны уточнить свой вопрос, чтобы спросить, что вы действительно хотите сделать, чтобы получить более подходящие ответы.