SimpleShell - Simple Shell

SimpleShell - Simple Shell

Executes simple commands through an SSH shell.

This utility connects to the specified SSH server and initializes a shell session. Then it sends any command entered by the user to the server and reads the server respose line by line. Check out Scripting for more information.

This sample shows:

  • Using Ssh and Scripting classes.
  • Starting a shell session.
  • Sending a command to the server.
  • Reading a response from the server.

C#

// start scripting
Scripting scripting = ssh.StartScripting();

// detect prompt automatically
scripting.DetectPrompt();

// main loop
ScriptMatch result;
do
{
    // output a prompt to a console
    Console.Write("Enter shell command: ");

    // read the command from a console
    string command = Console.ReadLine();

    // send the command to the server
    scripting.SendCommand(command);

    // read the response line by line
    do
    {
        // read until a line is received (or prompt, or the connection is closed)
        string line = scripting.ReadUntil(ScriptEvent.Line, ScriptEvent.Prompt, ScriptEvent.Closed);

        // get the result of the ReadUntil method
        result = scripting.LastResult;

        // display the line
        Console.WriteLine(line);

    } while (result.IsLine);

} while (!result.IsClosed);

VB.NET

' start scripting
Dim scripting As Scripting = ssh.StartScripting()

' detect prompt automatically
scripting.DetectPrompt()

' main loop
Dim result As ScriptMatch
Do
    ' output a prompt to a console
    Console.Write("Enter shell command: ")

    ' read the command from a console
    Dim command As String = Console.ReadLine()

    ' send the command to the server
    scripting.SendCommand(command)

    ' read the response line by line
    Do
        ' read until a line is received (or prompt, or the connection is closed)
        Dim line As String = scripting.ReadUntil(ScriptEvent.Line, ScriptEvent.Prompt, ScriptEvent.Closed)

        ' get the result of the ReadUntil method
        result = scripting.LastResult

        ' display the line
        Console.WriteLine(line)

    Loop While result.IsLine

Loop While Not result.IsClosed

Included in

See also: