org.codehaus.plexus.util.cli.shell

## Class BourneShell

- java.lang.Object
- - org.codehaus.plexus.util.cli.shell.Shell
  - - org.codehaus.plexus.util.cli.shell.BourneShell

- All Implemented Interfaces:
    java.lang.Cloneable

      public class BourneShell
      extends Shell

  Version:
    $Id: BourneShell.java 8010 2009-01-07 12:59:50Z vsiveton $
  Author:
    Jason van Zyl

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BourneShell()`
    `BourneShell(boolean isLoginShell)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getExecutable()`
    `protected java.lang.String` | `getExecutionPreamble()`
    `java.lang.String[]` | `getShellArgs()` Get the shell arguments
    `java.util.List` | `getShellArgsList()`
    `protected java.lang.String` | `quoteOneItem(java.lang.String path, boolean isExecutable)` Unify quotes in a path for the Bourne Shell.

    - ### Methods inherited from class org.codehaus.plexus.util.cli.shell.Shell

      `addShellArg, clearArguments, clone, getArgumentQuoteDelimiter, getCommandLine, getEscapeChars, getExecutableQuoteDelimiter, getOriginalCommandLine, getOriginalExecutable, getQuotingTriggerChars, getRawCommandLine, getShellCommand, getShellCommandLine, getWorkingDirectory, getWorkingDirectoryAsString, isDoubleQuotedArgumentEscaped, isDoubleQuotedExecutableEscaped, isQuotedArgumentsEnabled, isQuotedExecutableEnabled, isSingleQuotedArgumentEscaped, isSingleQuotedExecutableEscaped, setArgumentQuoteDelimiter, setDoubleQuotedArgumentEscaped, setDoubleQuotedExecutableEscaped, setExecutable, setExecutableQuoteDelimiter, setQuotedArgumentsEnabled, setQuotedExecutableEnabled, setShellArgs, setShellCommand, setSingleQuotedArgumentEscaped, setSingleQuotedExecutableEscaped, setUnconditionalQuoting, setWorkingDirectory, setWorkingDirectory`

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

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

- - ### Constructor Detail

    - #### BourneShell

          public BourneShell()

    - #### BourneShell

          public BourneShell(boolean isLoginShell)

  - ### Method Detail

    - #### getExecutable

          public java.lang.String getExecutable()

      Overrides:
        `getExecutable` in class `Shell`

    - #### getShellArgsList

          public java.util.List getShellArgsList()

      Overrides:
        `getShellArgsList` in class `Shell`

    - #### getShellArgs

          public java.lang.String[] getShellArgs()

      Description copied from class: `Shell`
      Get the shell arguments
      Overrides:
        `getShellArgs` in class `Shell`
      Returns:

    - #### getExecutionPreamble

          protected java.lang.String getExecutionPreamble()

      Overrides:
        `getExecutionPreamble` in class `Shell`

    - #### quoteOneItem

          protected java.lang.String quoteOneItem(java.lang.String path,
                                                  boolean isExecutable)

      Unify quotes in a path for the Bourne Shell.

           BourneShell.quoteOneItem(null)                       = null
           BourneShell.quoteOneItem("")                         = ''
           BourneShell.quoteOneItem("/test/quotedpath'abc")     = '/test/quotedpath'"'"'abc'
           BourneShell.quoteOneItem("/test/quoted path'abc")    = '/test/quoted pat'"'"'habc'
           BourneShell.quoteOneItem("/test/quotedpath\"abc")    = '/test/quotedpath"abc'
           BourneShell.quoteOneItem("/test/quoted path\"abc")   = '/test/quoted path"abc'
           BourneShell.quoteOneItem("/test/quotedpath\"'abc")   = '/test/quotedpath"'"'"'abc'
           BourneShell.quoteOneItem("/test/quoted path\"'abc")  = '/test/quoted path"'"'"'abc'

      Overrides:
        `quoteOneItem` in class `Shell`
      Parameters:
        `path` - not null path.
      Returns:
        the path unified correctly for the Bourne shell.