У меня есть редактор терминала 'nano', установленный в двух местах на моем Mac

/usr/bin/nano

/opt/local/bin/nano

Установки бывают разных версий. Один в /usr не поддерживает мою конфигурацию в ~/.nanorc а другой в /opt поддерживает.

Когда я открываю файл с помощью команды «nano file», отображаются ошибки, указывающие на то, что использовался файл в /usr , однако, если я запускаю «which nano»; тот, что в /opt появляется.

Разве «что» не означает поиск пути по умолчанию? И почему бы не обратиться к «нано» по тому же пути?

Я сделал обходной путь, добавив следующую строку в ~/.profile

alias nano='/opt/local/bin/nano'

1 ответ1

1

Двоичные файлы хэшируются и разрешаются в том порядке, в котором их родительские каталоги появляются в переменной среды PATH. Настройте его в соответствии с вашими потребностями. Это верно для моего опыта с Bash, по крайней мере. Подумайте о том, чтобы просмотреть справочную страницу по вашей оболочке и найти команды COMMAND EXECUTION и PATH, если то, что я вам говорю, не относится к вашей оболочке.

Например, если бы я хотел, чтобы foo означало /home /me /bin /foo, а не /usr /local /bin /foo, то я бы добавил /home /me /bin / before /usr /local /bin в путь, где перед означает слева от:

PATH =(...):/ главная / мне / бен:(...):/ USR / местные / бен:(...)

Путь обычно задается в /etc /profile или в ~ /.profile.

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