0

我正在尝试使用 SharpSSH 来使用 shell 中的“view”命令来远程读取文件。我可以访问和查看它,但在表单锁定之前它只返回大约 120 行左右,没有抛出异常。这是我的代码:

    SshStream Shell = null;
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        string host = "10.100.100.15";
        string user = "root";
        string password = "pass";

        Shell = new SshStream(host, user, password);
    }

    private void button1_Click(object sender, EventArgs e)
    {
        if (Shell != null)
        {
            try
            {

                Shell.Write("cd /var/log");
                Shell.Write("view info.log");

                StreamReader reader = new StreamReader(Shell);
                string inputLine = Shell.ReadResponse();

                while ((inputLine = reader.ReadLine()) != null)
                {
                    lstLines.Items.Add(inputLine);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }

我仍在学习使用此代码,所以我只是想在列表框中显示它返回的行。该文件大约有 2200 行,但它只返回大约 100 行。

4

1 回答 1

1

我找到了解决我的问题的方法。而不是使用“查看 info.log”,而是使用“cat info.log”。它显示所有行而不提示继续。谢谢你的帮助!

于 2014-04-10T13:21:06.000 回答