您好,登錄后才能下訂單哦!
本篇文章為大家展示了linux中的expect命令怎么用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
expect 是由Don Libes基于Tcl(Tool Command Language )語言開發的,主要應用于自動化交互式操作的場景,借助Expect處理交互的命令,可以將交互過程如:ssh登錄,ftp登錄等寫在一個腳本上,使之自動化完成。尤其適用于需要對多臺服務器執行相同操作的環境中,可以大大提高系統管理人員的工作效率
expect [選項][ -c cmds] [ [ -[f|b] ] cmdfile] [ args]
-c:從命令行執行expect腳本,默認expect是交互地執行的
expect -c 'expect "\n" {send"pressed enter\n"}
-d:可以輸出輸出調試信息
expect -d ssh.exp
expect中相關命令
expect “hi” {send “You said hi\n"}
匹配到hi后,會輸出“you said hi”,并換行
expect"hi" { send "You said hi\n" } \
"hehe"{ send “Hehe yourself\n" } \
"bye"{ send “Good bye\n" }
匹配hi,hello,bye任意字符串時,執行相應輸出。等同如下:
expect {
"hi"{ send "You said hi\n"}
"hehe"{ send "Hehe yourself\n"}
"bye"{ send “Good bye\n"}
}
cat ssh2.exp
#!/usr/bin/expect
spawn ssh 192.168.8.100
expect {
"yes/no" { send"yes\n";exp_continue }
"password" { send“magedu\n" }
}
interact
#expect eof
cat ssh3.exp
#!/usr/bin/expect
set ip 192.168.8.100
set user root
set password magedu
set timeout 10
spawn ssh $user@$ip
expect {
"yes/no" { send"yes\n";exp_continue }
"password" { send"$password\n" }
}
interact
vim ssh4.exp
#!/usr/bin/expect
set ip [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
spawn ssh $user@$ip
expect {
"yes/no" { send"yes\n";exp_continue }
"password" { send"$password\n" }
}
interact
#./ssh4.exp 192.168.8.100 rootmagedu
cat ssh5.exp
#!/usr/bin/expect
set ip [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
set timeout 10
spawn ssh $user@$ip
expect {
"yes/no" { send"yes\n";exp_continue }
"password" { send"$password\n" }
}
expect "]#" { send"useradd haha\n" }
expect "]#" { send"echo magedu |passwd –stdin haha\n" }
send "exit\n"
expect eof
#./ssh5.exp 192.168.8.100 rootmagedu
vim ssh6.sh
#!/bin/bash
ip=$1
user=$2
password=$3
expect
set timeout 10
spawn ssh$user@$ip
expect {
"yes/no" { send"yes\n";exp_continue}
"password" { send"$password\n" }
}
expect "]#" { send"useraddhehe\n" }
expect "]#" { send "echomagedu|passwd–stdinhehe\n" }
expect "]#" { send"exit\n" }
expect eof
EOF
#./ssh6.sh 192.168.8.100 rootmagedus
Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。
上述內容就是linux中的expect命令怎么用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。