Cómo pasar parámetros en el script esperado
Para pasar parámetros al script, el shell bash usará $1, $2... para recibir el parámetros, mientras que epxect guardará los parámetros en una matriz $argv se usa para la ejecución del script. para recibir parámetros, y epxect guardará los parámetros en la matriz $argv para la ejecución del script. Estos parámetros generalmente se asignan a una variable en el script: establezca el nombre de la variable [lindex $argv parámetro]
Ejemplo:
Escriba un script para iniciar sesión automáticamente en el host remoto y pase el nombre del host, la cuenta y la contraseña a través de parámetros
1) Escriba un script
#! /usr/bin/expect
establecer ip [lindex $argv 0]
establecer nombre de usuario [lindex $argv 1]
establecer contraseña [lindex $argv 2 ]
generar ssh -l $nombre de usuario $ ip
esperar {
"sí/no" { enviar "yes\r"; >
"contraseña:" { enviar "$contraseña\r" }
}
#expect eof
interactuar
Nota: Si inicia sesión en la terminal remota y luego cierra sesión, simplemente escriba expect eof.
2) Ejecute el script
espera autologin.sh 172.24.6.29 root redhat