几十台虚拟机需要修改root相关内容,只有一个普通账号的key,没有root的key,虽然普通账号可以sudo到root,但是脚本中的ssh使用sudo是不行的,于是,使用脚本生成一大堆命令行,手动粘贴执行,太low了
学点儿expect吧: http://www.cnblogs.com/iloveyoucc/archive/2012/05/11/2496433.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#!/usr/bin/expect -f set ipaddress [lindex $argv 0] set passwd vagrant set timeout 30 spawn ssh root@$ipaddress expect { "yes/no" { send "yes\r";exp_continue } "password:" { send "$passwd\r" } } expect "#" send "mkdir -p /tmp/testfile\r" expect "#" send "ls -l /tmp/testfile\r" expect "#" send "exit\r" send "exit\r" |