Короче говоря, я ищу имя моего скрипта, в котором пользователю будет предложено ввести имя хоста для jumpbox, логина и пароля, а затем скрипт выполнит ряд команд, таких как устройства проверки связи, файлы scpна другие хосты и т. д. В настоящее время у меня просто есть скрипт, запускающий простой ls -lrt.
Однако, когда я запускаю скрипт, все входит в систему просто отлично, но затем скрипт завершается, как только я вхожухост-машина.Я смотрю, как остановить скрипт после входа в систему, чтобы я мог затем запустить новые команды из скрипта.
Я просмотрел здесь несколько страниц, и ничего, что я нашел, на самом деле не говорит об этом.
#!/bin/bash
echo -n "Logging in to server at HOSTNAME"
echo
echo -n "Hostname:"
read -s host
echo
echo -n "Username:"
read -s user
echo
echo -n "Password:"
read -s PWD
echo
/usr/bin/expect <<EOF
set timeout 1
spawn ssh $user@$host
expect "password:"
send "$PWD\n"
expect eof
ls -lrt
Вот результаты, которые я получаю:
Logging in to server at
Username:
Password:
spawn ssh user@host
user@host's password:
-bash-4.1$ home/Desktop:~ userid$
home / Desktop: ~ userid $ - это приглашение вернуться в мое окно сеанса за пределами Jumpbox.