Skip to content
Go utilities for performing shell-like word splitting/joining
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



package shellquote
    import ""

    Shellquote provides utilities for joining/splitting strings using sh's
    word-splitting rules.


var (
    UnterminatedSingleQuoteError = errors.New("Unterminated single-quoted string")
    UnterminatedDoubleQuoteError = errors.New("Unterminated double-quoted string")
    UnterminatedEscapeError      = errors.New("Unterminated backslash-escape")


func Join(args ...string) string
    Join quotes each argument and joins them with a space. If passed to
    /bin/sh, the resulting string will be split back into the original

func Split(input string) (words []string, err error)
    Split splits a string according to /bin/sh's word-splitting rules. It
    supports backslash-escapes, single-quotes, and double-quotes. Notably it
    does not support the $'' style of quoting. It also doesn't attempt to
    perform any other sort of expansion, including brace expansion, shell
    expansion, or pathname expansion.

    If the given input has an unterminated quoted string or ends in a
    backslash-escape, one of UnterminatedSingleQuoteError,
    UnterminatedDoubleQuoteError, or UnterminatedEscapeError is returned.

You can’t perform that action at this time.