same - bash: ¿espera trabajar con múltiples solicitudes de contraseña?
spawn bash (1)
Actualmente estoy usando esperar a pasar contraseñas para que mis scripts se puedan ejecutar automáticamente sin que yo tenga que sentarme y escribir la misma contraseña una y otra vez.
Importante: por favor, no comenten qué tan grande es el riesgo de seguridad o cómo debería usar las claves ssh, las usaría si pudiera, pero la configuración con la que tengo que trabajar no me permite.
Mi código se parece a lo siguiente:
#!/bin/sh
PASS=mypassword
/usr/bin/expect -c "
spawn python Tools/python/install.py
expect -nocase /"password:/" {send /"$PASS/r/"; interact}
"
El problema que tengo es que install.py solicita la misma contraseña una docena de veces, y parece que solo espera completar automáticamente la contraseña para el primer aviso.
¿Hay alguna forma de modificar el comportamiento para que complete la contraseña las 12 veces y no solo la primera vez?
Tienes que hacer un poco de programación. Afortunadamente, la respuesta es bastante simple:
#!/bin/sh
PASS=MyPassword
export PASS
/usr/bin/expect -c ''
spawn python Tools/python/install.py
expect {
-nocase "password:" {
send "$env(PASS)/r"
exp_continue
}
"somthing_else_that_indicates_you''re_ready_to_interact"
}
interact
''
Limpió el caparazón citando un poco también.