выполнить в командной строке И поместить в свой ~ / .profile
(или ~ / .bash_profile
или что-то другое, подходящее для вашей оболочки) следующее:
EDITOR='/bin/vi'
VISUAL='/bin/vi'
export EDITOR VISUAL
В зависимости от вашей оболочки вы можете даже сделать что-то вроде этого:
EDITOR=$(type -p vim || type -p vi || type -p nvi)
VISUAL="$EDITOR"
export EDITOR VISUAL
Это довольно просто:
ssh user@10.0.0.7 'bash -s' < local_bash_script.sh
После выполнения скрипта local_bash_script.sh
сессия ssh -будет немедленно закрыта.
Обновление.
Если вы хотите выполнить что-то на удаленном сервере после входа в систему по ssh, просто создайте файл ssh rc
. Создайте на удаленном сервереrc
файл внутри пользовательского каталога .ssh
:
touch ~/.ssh/rc
Откройте файл с помощью вашего любимого текстового редактора, например nano
:
nano ~/.ssh/rc
и скопируйте/вставьте содержимое файла сценария:
#/bin/sh
date
whoami
uname -r
exit 0
Каждый раз при входе в систему будет выполняться скрипт (замените date
, whoami
, uname -r
на ваши команды ).
Скрипт ~/.ssh/rc
будет выполняться для определенного пользователя, который является владельцем каталога, в котором находится файл rc
. Если вы хотите выполнить сценарий rc
для всех пользователей на удаленном сервере, создайте еще один глобальный файл sshrc
:
/etc/ssh/sshrc
Вот и все.
Добавьте необходимые команды в свой ~/.bashrc
.
В этом случае вы должны проверить значение SSH_CLIENT
/ SSH_TTY
, чтобы определить, подключены ли вы через ssh.
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then... ; fi
Проверить Как определить, управляется ли оболочка через SSH? подробнее