-1 votos

Cómo hacer un script para un Mac con varios comandos de Terminal

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!

2voto

siva Puntos 23

La línea final de su secuencia de comandos usa comillas curvas en lugar de comillas rectas.
"y" se han utilizado en lugar de ".

Reemplazar la linea

 send "ssh-add etlbi-master"
 

con

 send "ssh-add etlbi-master"
 

Observe el resaltado de sintaxis de su script en su pregunta: la 'cadena' no es roja sino negra.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X