我创建了一个bash脚本,它通过telnet将日志记录到服务器中。现在我想输入cat $var >> /path/on/server/a.log.
$ var get在进入telnet会话之前在bash脚本中指定。不知何故输出"sh: ---------------------------: not found
“是在远程登录会话中创建的Telnet中的变量
我想这是因为我的file.log有多行,第二行是”---------------“ 。
这里是我的脚本:
#!/bin/bash
var=$(cat /path/to/local/file.log)
sleep 1
sh << EOF | telnet 192.168.178.72
sleep 2
echo user
sleep 1
echo pass
sleep 5
# echo "$var" >> /path/on/server/file.log (Can't Test because saving the var is not working)
sleep 5
EOF
我的最终目标是让file.log到服务器连接的唯一方法就是通过telnet客户端不支持SSH或rsync的或任何东西。 。编号: 更多信息:
该脚本不必在客户端上运行。我也可以在服务器上运行它。我更喜欢在客户端运行脚本。
您应该考虑使用[pexpect](https://pexpect.readthedocs.org/en/stable/)或原始[expect](http://expect.sourceforge.net/) –