在linux系统上使用sh脚本 通过脚本telnet到另外一台AIX的服务器上去执行一段命令并将结
在linux系统上使用sh脚本通过脚本telnet到另外一台AIX的服务器上去执行一段命令并将结果输入到a.txt中,然后检测文本的内容是否为1若不是则每间隔5分钟判断一...
在linux系统上使用sh脚本 通过脚本telnet到另外一台AIX的服务器上去执行一段命令并将结果输入到a.txt中,然后检测文本的内容是否为1 若不是则每间隔5分钟判断一次!直到结果为1时!返回linux系统在某路径下touch一个空文件
请问这样怎么写? 展开
请问这样怎么写? 展开
1个回答
展开全部
大致思路是要用到expect工具,我理解aix上执行的一段命令是要放到后台
#!/bin/bash
/usr/bin/expect <<END
spawn telnet IP #IP是AIX的地址
expect "*login:"
send "user\r" #user是登录用户
expect "*assword:"
send "pass\r" #pass是用户登录口令
expect "*#" #我假设是root登录,其shell提示符以#结尾
send "command >/tmp/a.txt &\r" #command是要后台执行的一段命令,注意有&符号
expect "*#"
send "while true; do flag=$(cat /tmp/a.txt); if [ \"$flag\" = \"1\" ];then break; fi; sleep 300; done\r"
expect "*#"
send "exit\r"
expect eof
END
touch /tmp/final
上面是实现此效果的大致代码,没有测试过,可能会有些小问题,大致思路如此,希望对你有帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询