Библиотека C # ssh.net, команда cd не работает (не может отправить "/") - PullRequest
0 голосов
/ 02 июля 2018

Кажется, что любая другая команда работает нормально, но кажется, что я не могу отправить "/" с помощью RunCommand () в библиотеке ssh.net. Мне нужно изменить мой рабочий каталог, чтобы запустить программу, используя "cd / home / debian". Но когда я отправляю эту строку, кажется, ничего не происходит. Я все еще остаюсь в домашнем каталоге. Как я могу решить эту проблему?

// start the connection
        var client = new SshClient (host, user,password);
        client.Connect();

        command = textBoxCommand.Text;   //taking the command from textbox

        if (command != "") //unless the command is empty
        {
            SshCommand sc = client.CreateCommand(command); 
            sc.Execute(); //run command
            textBoxRecieved.AppendText(command);
            textBoxRecieved.AppendText("\n");

            string answer = sc.Result;
            answer = answer.Replace("\n", "  ");
            textBoxRecieved.AppendText(sc.Error.Replace("\n", "   "));
            textBoxRecieved.AppendText(answer);

            textBoxRecieved.AppendText("\n");
            textBoxCommand.Clear();
        }

    }

1 Ответ

0 голосов
/ 03 июля 2018

На самом деле, команда cd работала, но проблема заключалась в том, что каждая отдельная команда выполняется из домашнего каталога. Поэтому, когда я проверяю свой каталог с помощью команды pwd, я вижу, что я все еще нахожусь в домашнем каталоге, потому что новая команда выполняется в домашнем каталоге.

Для тех, кто сталкивается с этой проблемой, вы можете просто отправить команды, которые должны выполняться последовательно вместе:

SshCommand sc = client.CreateCommand("cd /home/debian && pwd"); 
...