Skip to content

Maintenance Ruby 3.3 gets fixes, but no new features. Switch to Ruby 4.0 →

class method

Shellwords.split

split(line)

Alias of .shellsplit

Splits a string into an array of tokens in the same way the UNIX Bourne shell does.

Example
argv = Shellwords.split('here are "two words"')
argv #=> ["here", "are", "two words"]

Note, however, that this is not a command line parser. Shell metacharacters except for the single and double quotes and backslash are not treated as such.

Example
argv = Shellwords.split('ruby my_prog.rb | less')
argv #=> ["ruby", "my_prog.rb", "|", "less"]

String#shellsplit is a shortcut for this function.

Example
argv = 'here are "two words"'.shellsplit
argv #=> ["here", "are", "two words"]
See also .shellsplit .shellwords #shellescape #shelljoin also in 4.1 · 4.0 · 3.4 · 3.2 · 3.1 · 3.0