Почему мой $PATH не наследован вызванным ударом?

Используйте a launchd объект с помощью StartOnMount ключ!

# example launchd plist file using StartOnMount key
open -e /System/Library/LaunchDaemons/com.apple.backupd-attach.plist

Дополнительная информация:

2
09.12.2011, 16:55
1 ответ

При выполнении source .bashrc дает Вам среду, Вы хотите, затем что Вы пропускаете, интерактивная оболочка входа в систему. Сделать bash работайте таким образом, просто выполненные exec bash --login или короткий exec bash -l.

1
27.01.2020, 22:24
  • 1
    Не сделал ничего нового. Я вхожу в свое поле, делаю некоторые изменения в своем $PATH, затем делаю исполнительный удар - входит и освобождает мой $PATH, который был доступен в tcsh. –  Anton Daneyko 08.12.2011, 12:36
  • 2
    Гм, так это отличающийся от того, что Вы получаете после выполнения exec bash --norc + source .bashrc (как Вы описали)? –  rozcietrzewiacz 08.12.2011, 17:14
  • 3
    Как насчет того же самого без exec? (то есть, выполненный просто bash -l) –  rozcietrzewiacz 08.12.2011, 17:17
  • 4
    exec bash --norc + source .bashrc отличается от exec bash --login и exec bash --noprofile. Отъезд exec ничего не изменяет. Другие переменные среды не изменяются. Если я setenv v hi в tcsh затем я вижу его, когда я делаю echo $v в ударе, какой бы ни путь это было вызвано это. Таким образом, это - что-то, что управляет средой. В ударе человека (насколько я читал) несколько сценариев перечислены как последовательность запуска (для оболочки входа в систему однако):/etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile. Из тех только/etc/profile существует в моей системе. –  Anton Daneyko 08.12.2011, 19:32
  • 5
    " (...)/etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile. Из тех только/etc/profile существует в моей системе". - Это означает, что необходимо создать ~/.bash_profile и помещенный [[ -f ~/.bashrc ]] && . ~/.bashrc в нем. Если это не решает его, я должен буду удалить свой ответ как не важный. –  rozcietrzewiacz 09.12.2011, 16:49

Теги

Похожие вопросы