使用expect命令批處理

使用expect

背景

由於需要將一個文件,遠程拷貝到一批linux設備裏,並需要在登錄後,進行後續權限修改等處理。故而決定寫一個批處理腳本

experct命令使用示例

一段簡單示例,主要是用scp和ssh登錄,下面爲代碼片.

// An highlighted block
#!/usr/bin/expect -f
#獲取外部輸入ip
set machineip [lindex $argv 0 ]
#KEYPATH=/home/me/somefile.txt

#使用遠程scp指令
spawn scp somefile.txt me@$machineip:/home/me/
expect "Password*"
send "123456\r"

#登錄遠程設備
spawn ssh me@$machineip
expect "Password*"
send "123456\r"

#後續處理
expect "]*"
send "sudo chown me somefile.txt\r"
expect "]*"
send "sudo chgrp users somefile.txt\r"
expect "]*"
send "sudo rm /home/me/key123.txt\r"
expect "]*"

#interact
expect eof
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章