Linux・Ubuntu

expectコマンドのインストール方法・使い方と自動化の方法

“expect “はbashコンソールで対話を自動化する手段である.

sudo apt-get install -y expect

githubへgitをgit pushする時にインタラクティブが生じる.ユーザー名とパスワードである.
これを自動入力してオートマティックにできるようにする.

#!/usr/bin/expect

set USER [lindex $argv 0]
set PW [lindex $argv 1]
set Prompt "\[#$%>\]"

set timeout 5

spawn git push
expect {
    -glob "Username for 'https://github.com':" {
        send -- "${USER}\n"
    }
}

expect {
    -glob "Password for 'https://${USER}@github.com':" {
        send -- "${PW}\n"
    }
}

expect {
    -glob "${Prompt}" {
        # interact
        exit 0
    }
}

使い方

  1. 上記スクリプトを~/lib/github.expなどの名前に変更する
  2. $ ~/lib/github.exp USERNAME PASSWORD
  3. githubにpushできる.
    (前準備として,リポジトリを作っておくこと.Everything up-to-dateなどが表示されればok)

Reference:
http://qiita.com/ine1127/items/cd6bc91174635016db9b

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です