Я пытаюсь написать сценарий, который вытаскивает последнюю версию моего программного обеспечения из git repo и обновляет конфигурационные файлы. Однако, вытаскивая из репо, я должен ввести пароль. Я хочу, чтобы скрипт автоматизировал все, поэтому мне нужно, чтобы он автоматически заполнил его для меня. Я нашел этот сайт, который объяснил, как использовать «ожидание» для поиска пароля и отправки пароля. Я не могу заставить его работать. Вот мой сценарий:using expect in bash 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
Что я делаю неправильно? вот сайт, который я получил от: http://bash.cyberciti.biz/security/expect-ssh-login-script/
Предположим, что вы забыли икру. – bdecaf
Я не хочу эту часть. Я запускаю это внутри своей локальной машины. – LordZardeck
Нет git, cd и cp не являются допустимыми командами ожидания. Вам нужно создать оболочку для нее. – bdecaf