如何确保telnet中的命令执行完毕?

时间:2013-09-25 01:45:38

标签: shell

我想从shell脚本调用telnet,让telnet执行一些命令。

并尝试下面的脚本。

sleep 3
echo username
sleep 3
echo password
sleep 3
echo "cp a b"
sleep 5
echo exit
sleep 3
)|telnet 192.168.22.11

  1. 问题是我怎么知道命令“cp a b”已经完成。 5秒可能还不够。

  2. 如果我想在telnet中使用if / else或其他东西,我该如何编写shell脚本?

2 个答案:

答案 0 :(得分:1)

设置无密码ssh

http://www.linuxproblem.org/art_9.html

然后使用ssh

ssh 192.168.22.11 cp a b

答案 1 :(得分:0)

如果不读取telnet的输出,就不能这样做。对于设计用于执行此类远程运行的工具(如dsh,puppet,capistrano或类似工具),您可能会更幸运。