KDECore
KShell Namespace Reference
Provides some basic POSIX shell and bash functionality. More...
Enumerations | |
enum | Errors { NoError = 0, BadQuoting, FoundMeta } |
enum | Options { NoOptions = 0, TildeExpand = 1, AbortOnMeta = 2 } |
Functions | |
QString | homeDir (const QString &user) |
QString | joinArgs (const char *const *argv, int argc=-1) |
QString | joinArgs (const QStringList &args) |
QString | joinArgsDQ (const QStringList &args) |
QStringList | splitArgs (const QString &cmd, int flags=0, int *err=0) |
QString | tildeExpand (const QString &path) |
Detailed Description
Provides some basic POSIX shell and bash functionality.
- See also:
- KStringHandler
- Since:
- 3.2
Enumeration Type Documentation
enum KShell::Errors |
Status codes from splitArgs().
enum KShell::Options |
Flags for splitArgs().
- Enumerator:
Function Documentation
Obtain a user's
home directory.
- Parameters:
-
user The name of the user whose home dir should be obtained. An empty string denotes the current user.
- Returns:
- The user's home directory.
Definition at line 369 of file kshell.cpp.
QString KShell::joinArgs | ( | const char *const * | argv, | |
int | argc = -1 | |||
) |
Quotes and joins argv
together according to POSIX shell rules.
- Parameters:
-
argv an array of c strings to quote and join. The strings are expected to be in local-8-bit encoding. argc maximal number of strings in argv
. if not supplied,argv
must be null-terminated.
- Returns:
- a command suitable for shell execution
Definition at line 283 of file kshell.cpp.
QString KShell::joinArgs | ( | const QStringList & | args | ) |
Quotes and joins args
together according to POSIX shell rules.
- Parameters:
-
args a list of strings to quote and join
- Returns:
- a command suitable for shell execution
Definition at line 257 of file kshell.cpp.
QString KShell::joinArgsDQ | ( | const QStringList & | args | ) |
Same as above, but $'' is used instead of '' for the quoting.
The output is suitable for splitArgs(), bash, zsh and possibly other bourne-compatible shells, but not for plain sh. The advantage is, that control characters (ASCII less than 32) are escaped into human-readable strings.
- Parameters:
-
args a list of strings to quote and join
- Returns:
- a command suitable for shell execution
Definition at line 311 of file kshell.cpp.
QStringList KShell::splitArgs | ( | const QString & | cmd, | |
int | flags = 0 , |
|||
int * | err = 0 | |||
) |
Splits cmd
according to POSIX shell word splitting and quoting rules.
Can optionally perform tilde expansion and/or abort if it finds shell meta characters it cannot process.
- Parameters:
-
cmd the command to split flags operation flags, see Options err if not NULL, a status code will be stored at the pointer target, see Errors
- Returns:
- a list of unquoted words or an empty list if an error occurred
Definition at line 65 of file kshell.cpp.
Performs tilde expansion on path
.
Interprets "~/path" and "~user/path".
- Parameters:
-
path the path to tilde-expand
- Returns:
- the expanded path
Definition at line 355 of file kshell.cpp.