"" '' "foo" 'foo' "foo bar" 'foo bar' "'foo'" '"bar"' "$@" "${foo}" << STRING_END foo bar STRING_END << EOF foo $@ bar EOF << 'EOF' 'single quoted string' "double quoted string" EOF << "EOF" foo bar EOF ---------------------------------------------------- [ ["string", ["\"\""]], ["string", ["''"]], ["string", ["\"foo\""]], ["string", ["'foo'"]], ["string", ["\"foo\r\nbar\""]], ["string", ["'foo\r\nbar'"]], ["string", ["\"'foo'\""]], ["string", ["'\"bar\"'"]], ["string", [ "\"", ["variable", "$@"], "\"" ]], ["string", [ "\"", ["variable", "${foo}"], "\"" ]], ["operator", "<<"], ["string", ["STRING_END\r\nfoo\r\nbar\r\nSTRING_END"]], ["operator", "<<"], ["string", ["EOF\r\nfoo ", ["variable", "$@"], "\r\nbar\r\nEOF"]], ["operator", "<<"], ["string", ["'EOF'\r\n'single quoted string'\r\n\"double quoted string\"\r\nEOF"]], ["operator", "<<"], ["string", ["\"EOF\"\r\nfoo\r\nbar\r\nEOF"]] ] ---------------------------------------------------- Checks for single-quoted and double-quoted strings. Also checks for variables in strings.