Tengo pocos comandos de Terminal que estoy usando tan frecuentemente,Así que aunque para automatizar para reducir el esfuerzo de copiar-pegar los comandos uno por uno en la terminal y en el tiempo.
He creado un .archivo de comandos para esto, pero el problema con esto es, sólo de la ejecución de la primera instrucción.
La primera instrucción es conectarse a un servidor remoto y se necesita una contraseña , para que yo suelo copiar y pegar la contraseña. Cuando me cambié a una .archivo de comandos después de ejecutar el primer comando es solicitar una contraseña en una ventana nueva y más comandos no están recibiendo ejecutado en la nueva ventana.
¿Alguien puede ayudar/sugerir a encontrar una manera de hacer esto?
A continuación se los comandos,
#!/usr/bin/expect
set timeout 60
set host 111.111.111.11
set name root
set password **************
spawn ssh $host -l $name
expect {
"(yes/no)?" {
send "yes\n"
expect "password:"
send "$password\n"
}
"password:" {
send "$password\n"
}
}
expect "#"
# test whether login to host
send "ssh-agent bash\n"
send "ssh-add etlbi-master\n"
send_user "Now you can do some operation on this terminal\n"
send "ssh-add etlbi-master"
Obteniendo el siguiente error,no se puede introducir los comandos en la ventana de terminal.
Last login: Thu Jun 20 17:39:57 2019 from 111.111.111.11
root@Ubuntu-1689-xenial-64-minimal ~ # Now you can do some operation on this terminal
usage: send [args] string
while executing
"send "ssh-add etlbi-master""
(file "/Users/sand/Documents/google/newtest.command" line 25)
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]
Nota: soy el admin.
Gracias de antemano!