我把这个ssh调用放在我们的名为“tstz”的Linux机器上的一个shell脚本中,然后用linux的“at”命令调用它来安排它以备后用。用命令在Linux/Unix上执行SSH代码
tstz脚本:
#! /bin/ksh
/usr/bin/ssh -tt pmcmds ${fl} ${wf} /tmp/test1.log 2>&1
在命令语法:
在-f tstz现在+1分钟
的SSH调用按预期执行远程命令,但ssh连接之前,立即关闭远程命令已完成。我需要连接保持打开状态,直到远程命令完成,然后将控制返回到具有退出状态的tstz脚本。
这是我在/tmp/test1.log得到错误:
tcgetattr:用于设备 ^ [2JConnection到dc01nj2dwifdv02.nj.core.him关闭不适当的ioctl^M
注:使用“at”命令安排tstz时,如果我不使用-tt,ssh命令将不执行远程命令“pmcmds $ {fl} $ {wf}”。我相信这是因为需要终端。但是,我可以在前台的Linux命令提示符下运行tstz,而在ssh命令行上不带-tt,并按预期运行。
任何帮助将grely赞赏。谢谢!
2017-09-12
Gary
+0
用四个空格前缀代码/数据。请看[编辑帮助](http://stackoverflow.com/editing-help)。 –
+0
/usr/bin/ssh -tt pmcmds $ {fl} $ {wf} < /dev/null > /tmp/test1.log 2>&1 –
+0
您的重定向正在由本地shell处理。 Single或dbl - 引用您的命令需要在远程shell上执行的操作,因此它被看作是远程shell的命令。祝你好运。 –