PATH не установлен в GNU Screen, OS X 10.9

PATH не установлен в GNU Screen, OS X 10.9

Я не постоянный пользователь, screenно раз в несколько недель использую для некоторых деликатных задач. Однако вчера при запуске я не смог выполнить ни одну команду ( ls, ssh, mkdir), быстрая отладка показала, что переменная окружения PATHбыла установлена ​​неправильно.

Более конкретно echo $PATHпоказаны мои настроенные каталоги, .profileно в них отсутствуют самые основные записи, такие как /usr/local/bin.

На "обычном" терминале все в порядке, просто в screenнем все по-другому. Я подозреваю, screenчто использует другую оболочку, чем приложение OS X Terminal по умолчанию, поскольку префикс bash-3.2$(в отличие от username$), и я попробовал диагностику, как указано в этом ответе на аналогичный вопрос:https://superuser.com/a/114314/127409

Однако я никогда не менял никаких настроек экрана, и хотя оболочка была другой, у меня никогда не было таких проблем. Единственное, что, как мне кажется, могло вызвать проблемы, это недавнее обновление OS X (с 10.8 до 10.9), но я не смог найти более подробной информации в Интернете.

решение1

Вероятно, это изменение в поведении "login shell". Прочитайте о различных файлах запуска, которые использует bash - .bashrc, /etc/bashrc, .profile, .bash_profile, /etc/profile, ... - в "man bash", и пока вы не выясните, что изменилось в общесистемных значениях по умолчанию, проверьте /etc/screenrc и .screenrc на предмет настройки "login". Если не установлено, значение по умолчанию тоже могло измениться.

Чтобы поэкспериментировать с настройками, на экране (при условии, что вы используете сочетание клавиш Ctrl-A по умолчанию) нажмите , ^A:чтобы получить приглашение, и введите login onили login off, а после настройки создайте новое окно с помощью , ^Acчтобы посмотреть, что произойдет.

Связанный контент