Estoy intentando escribir una secuencia de comandos que extraiga la última versión de mi software de un repositorio git y actualice los archivos de configuración. Sin embargo, al sacar del repositorio, debo ingresar una contraseña. Quiero que el script automatice todo, así que necesito que lo complete automáticamente. Encontré este sitio que explicaba cómo usar "esperar" para buscar la solicitud de contraseña y enviar la contraseña. Sin embargo, no puedo hacer que funcione. Aquí está mi script:usando la secuencia de comandos expect in bash
#!/usr/bin/expect -f
set password [lrange $argv 0 0]
set timeout -1
clear
echo "Updating Source..."
cd sourcedest
git pull -f origin master
match_max 100000
# Look for passwod prompt
expect "*?assword:*"
# Send password aka $password
send -- "$password\r"
# send blank line (\r) to make sure we get back to gui
send -- "\r"
expect eof
git checkout -f master
cp Config/database.php.bak Config/database.php
cp webroot/index.php.bak webroot/index.php
cp webroot/js/config.js.bak webroot/js/config.js
¿Qué estoy haciendo mal? aquí está el sitio del que lo obtuve: http://bash.cyberciti.biz/security/expect-ssh-login-script/
Supongamos que has olvidado el engendro. – bdecaf
no quiero esa parte. Estoy ejecutando esto dentro de mi máquina local. – LordZardeck
No git, cd y cp no son comandos de espera válidos. Necesitas engendrar un caparazón para eso. – bdecaf