【linuxラーニング】shellスクリプト自動化ログイン
1940 ワード
登录するたびにパスワードを入力しなければならなくて、面倒な感じで、そこで自动登录のスクリプトをしたいと思って、美しいではありませんか^.^
パスワードの入力方法は大きな問題ですが、インタラクティブな入力ツール【expect】があります.
まずインストールする必要があります、【Centos】
【Ubuntu】
[#!/usr/bin/expect]shellスクリプトの最初の行の注釈が何の役に立つのか、注釈だけだと思っていたが、実際には実行プログラムを制定し、どのプログラムでこのスクリプト【interact】を実行するかを宣言してインタラクティブモードに入り、このコマンドプログラムがあればmysqlやlinuxシステムに正常にログインするようにインタラクティブコマンドに入る.
ログインして終了するには、次のコードを使用します.
expect eof exitこの2行のコマンドはログイン後に終了できます(バックグラウンド自動ログイン時にこのコマンドを使用できます)
インタラクティブ実行の原理は基本的に3つのステップです.実行プログラム は、対話情報 と一致する.入力パラメータ もちろんこれはただ1つの简単なDemoで、面白いのはまだたくさんO(∩∩)O~~
パスワードの入力方法は大きな問題ですが、インタラクティブな入力ツール【expect】があります.
まずインストールする必要があります、【Centos】
#
yum list | grep expect
#
sudo yum install expect
【Ubuntu】
#
dpkg -l expec
#
sudo apt-get install expect
インタラクティブログイン
#!/usr/bin/expect
spawn mycli -uroot
expect "Password:"
send "***\r"
interact
[#!/usr/bin/expect]shellスクリプトの最初の行の注釈が何の役に立つのか、注釈だけだと思っていたが、実際には実行プログラムを制定し、どのプログラムでこのスクリプト【interact】を実行するかを宣言してインタラクティブモードに入り、このコマンドプログラムがあればmysqlやlinuxシステムに正常にログインするようにインタラクティブコマンドに入る.
ログインして終了するには、次のコードを使用します.
バックグラウンドログイン自動終了ログインコード(sshチャネルは保持されています)
#!/usr/bin/expect
spawn mycli -uroot
expect "Password:"
send "***\r"
expect eof
exit
expect eof exitこの2行のコマンドはログイン後に終了できます(バックグラウンド自動ログイン時にこのコマンドを使用できます)
インタラクティブ実行の原理は基本的に3つのステップです.