会话使用“脚本”命令时 WinSCP 连接失败

会话使用“脚本”命令时 WinSCP 连接失败

我是 WinSCP 新手。
我想请教您有关 WinSCP 的局限性和副作用。

这是我当前的环境。WinSCP
版本:5.9.3
协议:SFTP
目标服务器:CentOS

script在目标服务器中插入了命令来跟踪用户操作。
以下script.bash_profile

......
script -f /tmp/`date +%Y%m%d_%H%M%S`_$USER.log
[EOF]

每当用户终端开始打开时,该命令就会首先运行。

在目标服务器中插入命令后,我通过 WinSCP 连接目标服务器。

即使可以打开 WinSCP,但我无法打开 WinSCP 的终端。
有关此案例的 WinSCP 日志请参阅此处。

我在 WinSCP 的官方网站上发现

WinSCP 不支持需要终端仿真或用户输入的命令。

我的理解是当 WinSCP 的终端打开时,script命令会自动在该终端中运行。script命令运行后,出现错误。
请参阅上面的 WinSCP 日志链接。

我执行了script命令,但该命令尚未作为环境变量插入目标服务器。我收到错误消息。
有关此案例的 winSCP 日志请参阅此处。


我可以知道下列信息吗...

script命令和WinSCP的限制有什么关系?命令对WinSCP
有什么影响?script

谢谢
Myo Min Thein

答案1

您的命令会启动类似新 shell 的东西。

该 shell 忽略了 WinSCP 启动非交互式会话的事实。在非交互式会话中,标准 shell(bash 等)不显示提示。而 shellscript会显示提示([root@orctdbm20 ~]#)。WinSCP 无法应对这种情况。


无法在终端窗口中执行命令的原因有所不同。这是因为命令“需要...用户输入”。它不是一个简单的执行某项操作然后退出的命令。它会启动一个新的交互式会话(并等待用户输入)。

相关内容