Всякий раз, когда я захожу на свой сервер Linux, я хочу, чтобы несколько команд запускались автоматически (установить некоторые переменные, изменить местоположение и т. Д.)
Это необходимо сделать при входе пользователя в систему, а не при запуске системы.
Как я могу настроить это сделать это?
man bash
).Ответы:
Вставьте команды
~/.bashrc
. Все, что там происходит, выполняется каждый раз, когда вы входите в систему.Если вам нужно, чтобы команды выполнялись только при входе через ssh (но не при физическом входе в систему), вы, вероятно, можете проверить наличие
SSH_CONNECTION
переменной среды и запускать команды только в том случае, если вы обнаружите, что она существует.источник
Просто поместите это в ~ / .bashrc или /etc/bash.bashrc, если вы хотите это для всех пользователей:
источник
screen
, я мог бы использовать ваш ответ и поместитьscreen
его вместо эха. Проблема в том, что завершение сеанса экрана вернется к приглашению SSH вместо выхода из системы. Просто написание этого комментария дало мне ответ: добавьтеlogout
команду послеscreen
команды.exec command
заменит текущую оболочку тем, что вы запускаете.В качестве альтернативы, вы можете указать команду для запуска во время вызова
ssh
:Последняя команда в списке должна начать интерактивный сеанс в вашей предпочтительной оболочке. Если вам нужно выполнить много команд, подумайте о создании файла сценария на вашем SSH-сервере.
источник
На самом деле
~/.ssh/rc
это подходящее место для вас , чтобы добавить команду для запуска , когда вы войти, а не любой пользователь системы.источник