Class Shell.ShellCommandExecutor

  • Enclosing class:
    Shell

    public static class Shell.ShellCommandExecutor
    extends Shell
    A simple shell command executor. ShellCommandExecutorshould be used in cases where the output of the command needs no explicit parsing and where the command, working directory and the environment remains unchanged. The output of the command is stored as-is and is expected to be small.
    • Constructor Detail

      • ShellCommandExecutor

        public ShellCommandExecutor​(java.lang.String[] execString)
      • ShellCommandExecutor

        public ShellCommandExecutor​(java.lang.String[] execString,
                                    java.io.File dir)
      • ShellCommandExecutor

        public ShellCommandExecutor​(java.lang.String[] execString,
                                    java.io.File dir,
                                    java.util.Map<java.lang.String,​java.lang.String> env)
      • ShellCommandExecutor

        public ShellCommandExecutor​(java.lang.String[] execString,
                                    java.io.File dir,
                                    java.util.Map<java.lang.String,​java.lang.String> env,
                                    long timeout)
        Create a new instance of the ShellCommandExecutor to execute a command.
        Parameters:
        execString - The command to execute with arguments
        dir - If not-null, specifies the directory which should be set as the current working directory for the command. If null, the current working directory is not modified.
        env - If not-null, environment of the command will include the key-value pairs specified in the map. If null, the current environment is not modified.
        timeout - Specifies the time in milliseconds, after which the command will be killed and the status marked as timedout. If 0, the command will not be timed out.
    • Method Detail

      • execute

        public void execute()
                     throws java.io.IOException
        Execute the shell command.
        Throws:
        java.io.IOException
      • getExecString

        public java.lang.String[] getExecString()
        Description copied from class: Shell
        Return an array containing the command name & its parameters.
        Specified by:
        getExecString in class Shell
      • parseExecResult

        protected void parseExecResult​(java.io.BufferedReader lines)
                                throws java.io.IOException
        Description copied from class: Shell
        Parse the execution result.
        Specified by:
        parseExecResult in class Shell
        Throws:
        java.io.IOException
      • getOutput

        public java.lang.String getOutput()
        Get the output of the shell command.
      • toString

        public java.lang.String toString()
        Returns the commands of this instance. Arguments with spaces in are presented with quotes round; other arguments are presented raw
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string representation of the object.