Мой скрипт login.exp.
#!/usr/bin/expect
spawn ssh -p 1111 root@vps_ip
expect "*password" {send "password_for_my_vps\n"}
interact
expect login.exp
войдет в ssh и останется в состоянии входа в систему ssh.
machine@local:~$ expect login.exp
spawn ssh -p 1111 root@vps_ip
root@vps_ip's password:
Last login: Mon Nov 12 06:32:28 2018
[root@localhost ~]#
Войдите в мой vps и сохраните статус входа вмой VPS.
Измените скрипт login.exp, как показано ниже:
#!/usr/bin/expect
spawn ssh -p 1111 root@vps_ip uptime
expect "*password" {send "password_for_my_vps\n"}
interact
Единственное отличие состоит в том, что последний скрипт имеет команду uptime
для появления.
machine@local:~$expect /tmp/login.exp
spawn ssh -p 1111 root@vps_ip
root@vps_ip's password:
02:19:33 up 7 days, 2:14, 0 users, load average: 0.00, 0.00, 0.00
machine@local:~$
Войдите вмой vps и выполните команду uptime
, затем выйдите из моего vps, вернитесь к моей локальной консоли.
Здесь interact
не может остаться в моей консоли vps.