Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux SSH未显示完整的输出。只显示了几行输出_Linux_Ssh - Fatal编程技术网

Linux SSH未显示完整的输出。只显示了几行输出

Linux SSH未显示完整的输出。只显示了几行输出,linux,ssh,Linux,Ssh,我使用下面的命令从linux到windows服务器进行ssh,并运行一个特定于客户端的任务,该任务将提供大约10-15行输出。下面的命令给出了正确的输出,但只有5-6行输出 output=$(ssh -t username@ip 'command on') echo $output 我也尝试将输出传递到日志文件,但仍然有几行输出仅显示。有人能帮我吗。谢谢。请注意,echo$output很容易咀嚼您的输出(将其合并到一行,用匹配的文件名替换glob,等等)。改为echo“$output”,如中所

我使用下面的命令从linux到windows服务器进行ssh,并运行一个特定于客户端的任务,该任务将提供大约10-15行输出。下面的命令给出了正确的输出,但只有5-6行输出

output=$(ssh -t username@ip 'command on')
echo $output

我也尝试将输出传递到日志文件,但仍然有几行输出仅显示。有人能帮我吗。谢谢。

请注意,
echo$output
很容易咀嚼您的输出(将其合并到一行,用匹配的文件名替换glob,等等)。改为
echo“$output”
,如中所述,命令是否在stderr和stdout上打印?如果是这样的话,您可以添加
2>&1
来捕获这两者:
output=$(ssh-tusername@ip如果您不信任您的服务器,直到STDIN关闭,如果STDIN提前关闭(这将是一个bug,但这是Windows上的SSH服务器,那么Bug就不足为奇了),请考虑一些类似于<代码>输出=$的问题。(嘘username@ip“<@JohnKugelman 2>&1”上的“命令”只给了我一行(输出的最后一行),谢谢@CharlesDuffy。将输出变量放在引号中解决了我的问题。请注意,
echo$output
容易吞食您的输出(将其合并到一行,用匹配它们的文件名替换globs等)。将其设置为
echo“$output”
相反,如中所述,命令是在stderr和stdout上打印的吗?如果是这样,您可以添加
2>&1
以捕获这两个命令:
output=$(ssh-tusername@ip'command on'2>&1)
。顺便说一句,如果您不信任服务器在stdin提前关闭之前保持stdout打开直到它关闭(这将是一个bug,但这是一个在Windows上的SSH服务器,所以Bug就不足为奇了),考虑一些类似于<代码>输出= $(SSH)username@ip“<@JohnKugelman 2>&1”上的“命令”只给了我一行(输出的最后一行),谢谢@CharlesDuffy。将输出变量加引号解决了我的问题。