Red de conocimiento informático - Material del sitio web - Cómo pasar parámetros en el script esperado

Cómo pasar parámetros en el script esperado

expect es una herramienta para automatizar procesos interactivos utilizando expect-send. El método de ejecución del script es diferente al del shell bash, por ejemplo: expect example.sh

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