1

Когда я which mex в системе Linux это дает путь , но я хочу , чтобы изменить этот путь к другому. Как я могу установить этот путь по умолчанию в другое место?

1 ответ1

3

На определенной системе я получаю этот вывод:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Это означает, что при выполнении команды

$ foo

оболочка будет искать исполняемые файлы в следующем порядке:

  1. /usr/local/bin/foo
  2. /usr/bin/foo
  3. /bin/foo
  4. /usr/local/games/foo
  5. /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 , но не окажет постоянного влияния на систему в целом.

Вы должны уточнить свой вопрос, чтобы спросить, что вы действительно хотите сделать, чтобы получить более подходящие ответы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .