glibmm 2.86.0

Classes | Functions
Shell-related Utilities

Shell-like command line handling. More...

## Classes
class | Glib::ShellError
| Exception class for shell utility errors. More...

## Functions
std::vector< std::string > | Glib::shell_parse_argv (const std::string & command_line)
| Parses a command line into an argument vector, in much the same way the shell would, but without many of the expansions the shell would perform (variable expansion, globs, operators, filename expansion, etc. are not supported).
std::string | Glib::shell_quote (const std::string & unquoted_string)
| Quotes a string so that the shell (/bin/sh) will interpret the quoted string to mean unquoted_string.

## Detailed Description

Shell-like command line handling.

## Function Documentation

## ◆ shell_parse_argv()

std::vector< std::string > Glib::shell_parse_argv | ( | const std::string & | command_line | ) |

Parses a command line into an argument vector, in much the same way the shell would, but without many of the expansions the shell would perform (variable expansion, globs, operators, filename expansion, etc. are not supported).

The results are defined to be the same as those you would get from a UNIX98 /bin/sh, as long as the input contains none of the unsupported shell expansions. If the input does contain such expansions, they are passed through literally.

Parameters

  command_line | Command line to parse.

Returns
  Array of args (The generic ArrayHandle will be implicitly converted to any STL compatible container type).

Exceptions

  Glib::ShellError |

## ◆ shell_quote()

std::string Glib::shell_quote | ( | const std::string & | unquoted_string | ) |

Quotes a string so that the shell (/bin/sh) will interpret the quoted string to mean unquoted_string.

If you pass a filename to the shell, for example, you should first quote it with this function. The quoting style used is undefined (single or double quotes may be used).

Parameters

  unquoted_string | A literal string.

Returns
  A quoted string.