Merge pull request #16180 from zimbatm/shell-escaping

Escape all shell arguments uniformly
This commit is contained in:
zimbatm
2016-06-19 23:27:52 +01:00
committed by GitHub
9 changed files with 20 additions and 19 deletions
+10 -1
View File
@@ -209,7 +209,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 (