Comment utiliser les attendre dans le script Bash

Je suis en train d'écrire un script qui tire la dernière version de mon logiciel à partir d'un repo git et les mises à jour des fichiers de configuration. Lors de l'extraction de l'repo bien, je dois entrer un mot de passe. Je veux que le script pour automatiser tout, donc j'en ai besoin pour remplir automatiquement pour moi. J'ai trouvé ce site qui explique comment utiliser "s'attendre à" chercher l'invite de mot de passe et d'envoyer le mot de passe. Je ne peux pas le faire fonctionner. Voici mon script:

#!/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

Ce que je fais mal? voici le site je l'ai eu à partir de: http://bash.cyberciti.biz/security/expect-ssh-login-script/

Supposons que vous avez oublié de la ponte.
je ne suis pas vouloir qu'une partie. Je suis en cours d'exécution à l'intérieur de la machine locale.
Pas de git, de cd et de cp ne sont valables s'attendre à des commandes. Vous devrez lancer un shell.
attendez, vous voulez dire que j'aurais du envoyer pour chaque ligne???
Pourquoi avez-vous de toujours avoir à entrer un mot de passe lorsque vous tirez sur le dépôt distant? Est-il un ssh ou http à distance de base? Êtes-vous sûr que les clés ssh ne sont pas une option? Qu'en enregistrant un nom d'utilisateur et mot de passe dans votre .netrc fichier? Il peut y avoir plusieurs façons de faire de toute cette expect script inutile.

OriginalL'auteur LordZardeck | 2012-05-01