diff options
Diffstat (limited to 'lib/strings.nix')
-rw-r--r-- | lib/strings.nix | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/strings.nix b/lib/strings.nix index 9e9bdd6e153..653317ed171 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -213,7 +213,16 @@ rec { escapeShellArg "so([<>])me" => "so\\(\\[\\<\\>\\]\\)me" */ - escapeShellArg = lib.escape (stringToCharacters "\\ ';$`()|<>\t*[]"); + escapeShellArg = arg: + lib.escape (stringToCharacters "\\ ';$`()|<>\t*[]") (toString arg); + + /* Escape all arguments to be passed to the Bourne shell. + + Example: + escapeShellArgs ["one" "two three"] + => "one two\\ three" + */ + escapeShellArgs = concatMapStringsSep " " escapeShellArg; /* Obsolete - use replaceStrings instead. */ replaceChars = builtins.replaceStrings or ( |