Package gw.util

Class Shell

java.lang.Object
gw.util.Shell

@Deprecated public class Shell extends Object
Deprecated.
use ProcessRunner instead
  • Constructor Details

    • Shell

      public Shell()
      Deprecated.
  • Method Details

    • exec

      public static String exec(String command)
      Deprecated.

      Executes the given command as if it had been executed from the command line of the host OS (cmd.exe on windows, /bin/sh on *nix) and returns all content sent to standard out as a string. If the command finishes with a non zero return value, a CommandFailedException is thrown.

      Content sent to standard error by the command will be forwarded to standard error for this JVM. If you wish to capture StdErr as well, use buildProcess(String) to create a ProcessStarter and call the ProcessStarter.withStdErrHandler(gw.util.ProcessStarter.OutputHandler) method.

      This method blocks on the execution of the command.

      Example Usages:

         var currentDir = Shell.exec( "dir" ) // windows
         var currentDir = Shell.exec( "ls" )  // *nix
         Shell.exec( "rm -rf " + directoryToNuke )
       

      Parameters:
      command - the command to execute
      Returns:
      the content of standard out
      Throws:
      CommandFailedException - if the process finishes with a non-zero return value

      Note: On windows, CMD.EXE will be used to interpret "command" so that commands like "dir" work as expected. This can occasionally cause problems due to limitations of CMD.EXE (e.g. a command string may be too long for it.) In these cases consider using the buildProcess(String)

    • exec

      public static String exec(String command, String cs)
      Deprecated.

      Executes the given command as if it had been executed from the command line of the host OS (cmd.exe on windows, /bin/sh on *nix) and returns all content sent to standard out as a string. If the command finishes with a non zero return value, a CommandFailedException is thrown.

      Content sent to standard error by the command will be forwarded to standard error for this JVM. If you wish to capture StdErr as well, use buildProcess(String) to create a ProcessStarter and call the ProcessStarter.withStdErrHandler(gw.util.ProcessStarter.OutputHandler) method.

      This method blocks on the execution of the command.

      Example Usages:

         var currentDir = Shell.exec( "dir" ) // windows
         var currentDir = Shell.exec( "ls" )  // *nix
         Shell.exec( "rm -rf " + directoryToNuke )
       

      Parameters:
      command - the command to execute
      Returns:
      the content of standard out
      Throws:
      CommandFailedException - if the process finishes with a non-zero return value

      Note: On windows, CMD.EXE will be used to interpret "command" so that commands like "dir" work as expected. This can occasionally cause problems due to limitations of CMD.EXE (e.g. a command string may be too long for it.) In these cases consider using the buildProcess(String)

    • execWithPipe

      public void execWithPipe(String command)
      Deprecated.

      Executes the given command as if it had been executed from the command line of the host OS (cmd.exe on windows, /bin/sh on *nix) and pipes all data sent to this processes stdout, stderr, and stdin. If the command finishes with a non zero return value, a CommandFailedException is thrown.

      Stdout and Stderr from the sub-process will be piped to the current process' stdout and stderr. Any input in this processes stdin will be piped to the sub-process' stdin

      Content sent to standard error by the command will be forwarded to standard error for this JVM.

      This method blocks on the execution of the command.

      Example Usages:

         Shell.exec( "read \"are you there?\"" )
       

      Parameters:
      command - the command to execute
      Throws:
      CommandFailedException - if the process finishes with a non-zero return value
    • buildProcess

      public static ProcessStarter buildProcess(String command)
      Deprecated.
      Builds a process starter given a command. Single parameters in the command can be grouped by using double quotes or single quotes. I.e. ls "~/my file with spaces" works as well as ls '~/my file with spaces'.
      Parameters:
      command - the command to create a process starter for
      Returns:
      the process start.
    • getPlatform

      @Deprecated public static OSPlatform.Platform getPlatform()
      Deprecated.
      Returns:
      the Platform enum corresponding to the current platform.
    • isWindows

      @Deprecated public static boolean isWindows()
      Deprecated.
    • isMac

      @Deprecated public static boolean isMac()
      Deprecated.
      use OSPlatform.isMac() instead
    • isSolaris

      @Deprecated public static boolean isSolaris()
      Deprecated.
    • isLinux

      @Deprecated public static boolean isLinux()
      Deprecated.
    • readLine

      public static String readLine(String prompt)
      Deprecated.
      Prints the given prompt and then reads a line from standard in. This can be used for basic user interactions in command line environments. This method uses the JLine library to provide a reasonable line-editing experience for the user. For example, the delete key, arrow keys, and home and end keys work as they would expect, and the prompt is not editable.
      Parameters:
      prompt - the prompt to show the user
      Returns:
      the string entered
    • readMaskedLine

      public static String readMaskedLine(String prompt)
      Deprecated.
      Prints the given prompt and then reads a line from standard in, but with the input masked with asterisks
      Parameters:
      prompt - the prompt to show the user
      Returns:
      the string entered
    • getAllThreadStacks

      public static String getAllThreadStacks()
      Deprecated.
    • dumpStacks

      public static void dumpStacks()
      Deprecated.