当前位置: 技术问答>linux和unix
关于expect shell 与rsh
来源: 互联网 发布时间:2017-04-27
本文导语: #!/bin/bash ip=1 while [ $ip -lt 255 ] do echo "#####################################---$ip">>statusinfo echo "------------------username:">>statusinfo echo "hadoop">>statusinfo echo "------------------ip:">>statusinfo echo "192.168.150.$ip">>statusinfo echo "-...
#!/bin/bash
ip=1
while [ $ip -lt 255 ]
do
echo "#####################################---$ip">>statusinfo
echo "------------------username:">>statusinfo
echo "hadoop">>statusinfo
echo "------------------ip:">>statusinfo
echo "192.168.150.$ip">>statusinfo
echo "------------------hostname:">>statusinfo
expect -c "
set timeout 25
expect *
spawn rsh 192.168.150.$ip -l hadoop hostname>>statusinfo
expect "password"
send "hadoopr"
"
sleep 2
ip=`expr $ip + 1`
done
我的目的是通过一次循环,获取150段内所有机器的主机名和对应的ip地址,通过rsh远程机器,然后hostname命令结果重定向到本机的statusinfo文件中,可是每当shell运行到输入密码后,然后直接进入下一次循环,根本没有执行hostname命令,这是为什么 啊?大神?
都一天了,还是个这样子!
|
set results $expect_out(buffer)