我需要通过sftp连接到远程服务器,和把放在那里。以下命令从终端执行我的工作:
sftp -P <port> user@remote_server
cd <target_dir_at_remote_server>
put <my_file_at_local_server>
quit在这里,第一行建立到远程服务器的连接,并在那里运行以下命令。但是当我试图使用os-command value(<commands>)或unix value(<commands>)从Process4GL代码运行这些命令时,所有命令都运行在本地服务器上,而不是远程服务器上。有代码示例的建议将受到高度赞赏。
发布于 2018-02-19 11:18:23
我从来没有具体地遇到过这种情况,但我想进步并没有保持您的命令链的上下文。我建议这两种方法之一:
在一条语句中用‘s -l \\__’进行管道传递,或者,如果这样做不起作用,
创建一个shell脚本并在本地保存您的文件,然后使用要作为参数上载的文件位置和名称运行该脚本,最后删除本地文件。
发布于 2018-02-20 05:57:32
从OS-命令的角度来看,这些不是单独的“命令”。" sftp“是命令,sftp输入"cd”、"put“和”put“。通常,您将使用“这里文档”,从包含该输入的文件中重定向输入,或者编写脚本作为此类内容的包装器。
使用scp代替sftp。这将完全避免向实用程序提供输入的需要。它要简单得多:
scp my_file user@remote.server:/remotedirhttps://stackoverflow.com/questions/48863314
复制相似问题