- 论坛徽章:
- 2
|
- #!/bin/bash
- #ECHO=/usr/bin/echo
- #HOSTNAME=/usr/bin/hostname
- #_HOSTS={inf1,inf2,mas1,mate1} [I do not know why this way does not work]
- _HOSTNAME=`$HOSTNAME`
- _DOMAINNAME=`$ECHO ${_HOSTNAME:0:4}`
- for i in inf1 inf2 mas1 mate1
- do
- $ECHO "spawn ssh root@$_DOMAINNAME$i" > /var/tmp/snoop_$_DOMAINNAME$i
- $ECHO "expect \"password\"" >> /var/tmp/snoop_$_DOMAINNAME$i
- $ECHO "send \"shroot\r\"" >> /var/tmp/snoop_$_DOMAINNAME$i
- done
复制代码- # cat /var/tmp/snoop_szl0inf1
- spawn ssh root@szl0inf1
- expect "password"
- "end "shroot
- # cat /var/tmp/snoop_szl0inf2
- spawn ssh root@szl0inf2
- expect "password"
- "end "shroot
复制代码 我不明白为什么我的语句$ECHO "send \"shroot\r\"" >> /var/tmp/snoop_$_DOMAINNAME$i,会出现这样的结果。我本来要的是send "shroot\r"。
其实我如果手动输入的话,这是没有问题的。- # bash
- [root@szl0mws1:/JUMP/henry]#echo "send \"shroot\r\"" > /var/tmp/test_temp
- [root@szl0mws1:/JUMP/henry]#cat /var/tmp/test_temp
- send "shroot\r"
复制代码 本人是新手,还望大家不吝赐教! |
|