Я добавил каждый из моих файлов конфигурации bash (~/.bashrc , ~/.bash_profile , ~/.profile) с echo NAME_OF_FILE , т.е. я получаю «.bashrc», когда исходный код находится в ~/.bashrc .
Меня сбивает с толку то, почему я получаю и указывает, что ~/.bashrc включается, когда я запускаю команду через ssh. Например, если я сделаю:
ssh localhost echo hi
я получил
.bashrc
hi
Почему в этом контексте используется ~/.bashrc ? Разве это НЕ должно быть получено, поскольку это должно запустить неинтерактивный сеанс bash?
В самом деле, ssh localhost tty дает мне «не tty» (ему предшествует «.bashrc», что указывает на то, что ~/.bashrc получен, тем не менее).
Я grep ped все мои файлы конфигурации для получения команд в ~/.bashrc явно, и нет ни одного, который объясняет это.
(У меня есть только tty -s && shopt -q login_shell && [[ -r ~/.bashrc ]] && . ~/.bashrc в моем .bash_profile так что я получаю '.bashrc' даже в интерактивных оболочках входа в систему, но это не объясняет проблему ssh - я могу закомментировать ее, и я все еще получаю то же поведение с приведенными выше примерами ssh)
Как я могу отладить это?
