ソフトウェアの最新バージョンを Git リポジトリから取得して構成ファイルを更新するスクリプトを作成しようとしています。ただし、リポジトリからプルするときは、パスワードを入力する必要があります。スクリプトですべてを自動化したいので、自動的に入力する必要があります。Expect を使用してパスワード プロンプトを検索し、パスワードを送信する方法を説明しているこのサイトを見つけました。私はそれを機能させることはできません。
これが私のスクリプトです:
#!/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
私は何を間違っていますか?
これは私が入手したサイトです: http://bash.cyberciti.biz/security/expect-ssh-login-script/