net.i2p.util

## Class ShellCommand

- java.lang.Object
- - net.i2p.util.ShellCommand

-     public class ShellCommand
      extends Object

  Passes a command to the OS shell for execution and manages the input and output.

  This class must be kept `gcj`-compatible.

  Author:
    hypercubus

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ShellCommand()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `execute(String shellCommand)` Deprecated. unused
    `boolean` | `executeAndWait(String shellCommand)` Deprecated. unused
    `boolean` | `executeAndWaitTimed(String shellCommand, int seconds)` Deprecated. unused
    `void` | `executeSilent(String shellCommand)` Deprecated. unused
    `boolean` | `executeSilentAndWait(String shellCommand)` Passes a command to the shell for execution.
    `boolean` | `executeSilentAndWaitTimed(String[] commandArray, int seconds)` Passes a command to the shell for execution.
    `boolean` | `executeSilentAndWaitTimed(String shellCommand, int seconds)` Passes a command to the shell for execution.
    `InputStream` | `getErrorStream()`
    `InputStream` | `getInputStream()`
    `OutputStream` | `getOutputStream()`
    `static void` | `main(String[] args)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ShellCommand

          public ShellCommand()

  - ### Method Detail

    - #### execute

          public void execute(String shellCommand)

      Deprecated. unused
      Passes a command to the shell for execution and returns immediately without waiting for an exit status. All output produced by the executed command will go to `STDOUT` and `STDERR` as appropriate, and can be read via `getOutputStream()` and `getErrorStream()`, respectively. Input can be passed to the `STDIN` of the shell process via `getInputStream()`. Warning, no good way to quote or escape spaces in arguments with this method.
      Parameters:
        `shellCommand` - The command for the shell to execute.

    - #### executeAndWait

          public boolean executeAndWait(String shellCommand)

      Deprecated. unused
      Passes a command to the shell for execution. This method blocks until all of the command's resulting shell processes have completed. All output produced by the executed command will go to `STDOUT` and `STDERR` as appropriate, and can be read via `getOutputStream()` and `getErrorStream()`, respectively. Input can be passed to the `STDIN` of the shell process via `getInputStream()`. Warning, no good way to quote or escape spaces in arguments with this method.
      Parameters:
        `shellCommand` - The command for the shell to execute.
      Returns:
        `true` if the spawned shell process returns an exit status of 0 (indicating success), else `false`.

    - #### executeAndWaitTimed

          public boolean executeAndWaitTimed(String shellCommand,
                                    int seconds)

      Deprecated. unused
      Passes a command to the shell for execution. This method blocks until all of the command's resulting shell processes have completed, unless a specified number of seconds has elapsed first. All output produced by the executed command will go to `STDOUT` and `STDERR` as appropriate, and can be read via `getOutputStream()` and `getErrorStream()`, respectively. Input can be passed to the `STDIN` of the shell process via `getInputStream()`. Warning, no good way to quote or escape spaces in arguments with this method.
      Parameters:
        `shellCommand` - The command for the shell to execute.
        `seconds` - The method will return `true` if this number of seconds elapses without the process returning an exit status. A value of `0` here disables waiting.
      Returns:
        `true` if the spawned shell process returns an exit status of 0 (indicating success), else `false`.

    - #### executeSilent

          public void executeSilent(String shellCommand)
                             throws IOException

      Deprecated. unused
      Passes a command to the shell for execution and returns immediately without waiting for an exit status. Any output produced by the executed command will not be displayed. Warning, no good way to quote or escape spaces in arguments with this method.
      Parameters:
        `shellCommand` - The command for the shell to execute.
      Throws:
        `IOException`

    - #### executeSilentAndWait

          public boolean executeSilentAndWait(String shellCommand)

      Passes a command to the shell for execution. This method blocks until all of the command's resulting shell processes have completed. Any output produced by the executed command will not be displayed. Warning, no good way to quote or escape spaces in arguments with this method.
      Parameters:
        `shellCommand` - The command for the shell to execute.
      Returns:
        `true` if the spawned shell process returns an exit status of 0 (indicating success), else `false`.

    - #### executeSilentAndWaitTimed

          public boolean executeSilentAndWaitTimed(String shellCommand,
                                          int seconds)

      Passes a command to the shell for execution. This method blocks until all of the command's resulting shell processes have completed unless a specified number of seconds has elapsed first. Any output produced by the executed command will not be displayed. Warning, no good way to quote or escape spaces in arguments when shellCommand is a String. Use a String array for best results, especially on Windows.
      Parameters:
        `shellCommand` - The command for the shell to execute, as a String. You can't quote arguments successfully. See Runtime.exec(String) for more info.
        `seconds` - The method will return `true` if this number of seconds elapses without the process returning an exit status. A value of `0` here disables waiting.
      Returns:
        `true` if the spawned shell process returns an exit status of 0 (indicating success), else `false`.

    - #### executeSilentAndWaitTimed

          public boolean executeSilentAndWaitTimed(String[] commandArray,
                                          int seconds)

      Passes a command to the shell for execution. This method blocks until all of the command's resulting shell processes have completed unless a specified number of seconds has elapsed first. Any output produced by the executed command will not be displayed.
      Parameters:
        `commandArray` - The command for the shell to execute, as a String[]. See Runtime.exec(String[]) for more info.
        `seconds` - The method will return `true` if this number of seconds elapses without the process returning an exit status. A value of `0` here disables waiting.
      Returns:
        `true` if the spawned shell process returns an exit status of 0 (indicating success), else `false`.
      Since:
        0.8.3

    - #### getErrorStream

          public InputStream getErrorStream()

    - #### getInputStream

          public InputStream getInputStream()

    - #### getOutputStream

          public OutputStream getOutputStream()

    - #### main

          public static void main(String[] args)