2

Я только что обновился до Lion, и я впервые использую bash (мой предыдущий опыт был с csh и tcsh). Я столкнулся с неожиданным поведением. Простой пример:

  1. Я создаю файл, содержащий следующие команды:

    echo PATH BEFORE is $PATH
    PATH=/usr/local/fortran:$PATH
    export PATH
    echo PATH AFTER is $PATH
    
  2. Я открываю терминал (в bash) и запускаю файл, показанный выше. Это повторяет ожидаемый результат:

    PATH BEFORE is /usr/bin: ...
    PATH AFTER is /usr/local/fortran:/usr/bin ...
    
  3. Я тогда набираю:

    echo $PATH
    

    и /usr/local/fortran НЕ является частью пути. Я предполагал, что команда экспорта сделает ПУТЬ липкой. Может кто-нибудь объяснить, почему этого не происходит?

2 ответа2

6

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

source script-file
echo $PATH

... или добавьте команду export в один из файлов конфигурации bash - в OS X это обычно будет .bash_profile .

1

Положил

PATH=/usr/local/fortran:$PATH
export PATH

в вашем файле .bash_profile.

Как вы выполняете файл, содержащий команду? Попробуйте установить его с source (man source)

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