Я додав кожен з моїх файлів налаштування bash ( ~/.bashrc
, ~/.bash_profile
, ~/.profile
) з echo NAME_OF_FILE
я отримую ".bashrc", коли джерелом є ~/.bashrc
.
Що мене перешкоджає, чому я отримую і вказівку, що ~ / .bashrc включається, коли я запускаю команду над ssh. Наприклад, якщо я виконую:
ssh localhost echo hi
я отримав
.bashrc
hi
Чому отримуєш ~/.bashrc
отримані в цьому контексті? Чи не повинна вона бути отримана в джерелі, оскільки це має запускати неінтерактивний сеанс bash?
Дійсно, ssh localhost tty
отримує мені "не a tty" (передує ".bashrc", що вказує на це ~/.bashrc
тим не менше отримує джерело.
Я grep
ped всі мої конфігураційні файли для команд пошуку в. \ t ~/.bashrc
явно, і ніхто не пояснює це.
(Я тільки маю tty -s && shopt -q login_shell && [[ -r ~/.bashrc ]] && . ~/.bashrc
в моєму .bash_profile
так що я отримую ".bashrc" навіть в інтерактивних оболонках для входу, але це не пояснює проблему ssh - я можу прокоментувати це, і я все ще отримую таку ж поведінку з наведеними вище прикладами ssh)
Як я можу налагодити це?