私の仕事でgitを使うには、git_login < user_name>というスクリプトを使ってログインする必要があります。このスクリプトはgit.sh
という名前のスクリプトに組み込まれています。ユーザーのパスワード。git add、expectスクリプト
私はこのプロセスを自動化しようとしていますが、expectスクリプトは私がログインしたことを示していますが、プッシュまたはコミットしようとすると、未知のユーザーのパスワードを要求します。
#!/usr/bin/expect -f
set timeout 15
set tagName [[lindex $argv 0]
if { [llength $tagName] == 0 } {
puts "no tag name provided...\n"
exit 1
}
spawn /bin/bash -c "source git.sh && git_login my_user"
expect "assword: "
send -- "my_password"
expect "is now logged in"
exec git add .
exec git commit "$tagName"
exit
またはその代わりに、最後の3行
git push origin "$tagName"
exit
の
私は
expect
スクリプトがあることを私に示して
'今in'をログに記録されるため、あなたが期待するパターンを持っています。ここにそれを掲示している間にそれを逃したことがありますか?正しいスクリプトで更新してください。 – Dinesh
私は*スクリーンシュートを追加する方が*説明するよりはるかに簡単だと同意します。しかし、https://meta.stackoverflow.com/questions/285551/why-not-to-upload-images-of-code-on-so-質問の答えが – pynexj
の場合はスクリーンショットとなりました。「現在ログインしています」と思われます。ありがとうございました:) –