Мне кажется, что каждый дистрибутив Linux, в котором я использую SSH или использую его локально (в основном машины RHEL/CentOS и Debian/Ubuntu), по-разному понимает, какой из .bashrc
и .bash_profile
будет запускаться при локальном входе в систему, когда я выполняю SSH в когда я открываю tmux или когда запускаю команды оболочки из VIM.
У меня есть несколько сценариев, которые я хотел бы запустить при входе в систему, будь то через SSH или на консоли. Например, я хотел бы видеть вывод uptime
, free
и df
при входе в систему. Я могу войти в систему с самого компьютера (рабочий стол Kubuntu в сеансе KDE через Konsole), или я могу войти по SSH из дома на ту же машину. Однако эти сценарии не должны запускаться, например, при запуске команды оболочки из VIM. Должны ли они быть в .bashrc
или .bash_profile
?
Кроме того, у меня есть некоторые псевдонимы, которые я хотел бы сделать доступными из CLI, независимо от того, вошел ли я с локальной машины (KDE и Konsole) или в SSHed. Они также должны быть доступны с VIM при запуске команд оболочки, а также в tmux. Должны ли они быть в .bashrc
или .bash_profile
?
Изменить: Кажется, что проверка переменных среды может помочь, используя условия IF
установки вещей, которые мне нужны. Затем я поместил бы все конфигурации в третий файл .bash_dotan
, а затем получил этот файл из обоих .bashrc
и .bash_profile
чтобы обеспечить его постоянную работу. Я мог бы обернуть все это в условное условие IF [ALREADY_RUN]
чтобы гарантировать, что оно не будет выполняться дважды, если оба источника .bashrc
и .bash_profile
получены. Есть ли проблемы с этим подходом, которых я не ожидаю?