Package com.dtolabs.rundeck.core.cli
Class CLIUtils
- java.lang.Object
-
- com.dtolabs.rundeck.core.cli.CLIUtils
-
public class CLIUtils extends java.lang.ObjectCLIUtils provides utility functions
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.function.Predicate<java.lang.String>stringContainsQuotePredicateevaluates to true if a string contains a quotestatic java.util.function.Predicate<java.lang.String>stringContainsWhitespacePredicateevaluates to true if a string contains a spacestatic Converter<java.lang.String,java.lang.String>UNIX_ARGUMENT_QUOTEConverter that can escape shell-special charactersstatic java.lang.StringUNIX_SHELL_CHARSstatic java.lang.StringUNIX_SHELL_CHARS_NO_QUOTESstatic Converter<java.lang.String,java.lang.String>UNIX_SHELL_ESCAPEConverter that can escape shell-special characters
-
Constructor Summary
Constructors Constructor Description CLIUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Converter<java.lang.String,java.lang.String>argumentQuoteForOperatingSystem(java.lang.String type)static Converter<java.lang.String,java.lang.String>characterEscapeForOperatingSystem(java.lang.String type)static booleancontainsQuote(java.lang.String arg)static booleancontainsSpace(java.lang.String arg)static java.lang.StringescapeUnixShellChars(java.lang.String str)static voidescapeUnixShellChars(java.lang.StringBuilder out, java.lang.String str, java.lang.String unixShellChars)static java.lang.StringescapeUnixShellChars(java.lang.String str, java.lang.String shellChars)static java.lang.StringgenerateArgline(java.lang.String scriptpath, java.lang.String[] args)Create an appropriately quoted argline to use given the command (script path) and argument strings.static java.lang.StringgenerateArgline(java.lang.String scriptpath, java.lang.String[] args, java.lang.Boolean unsafe)Create an appropriately quoted argline to use given the command (script path) and argument strings.static java.lang.StringgenerateArgline(java.lang.String scriptpath, java.lang.String[] args, java.lang.String separator, java.lang.Boolean unsafe)Create an appropriately quoted argline to use given the command (script path) and argument strings.static java.lang.StringquoteUnixShellArg(java.lang.String arg)
-
-
-
Field Detail
-
stringContainsWhitespacePredicate
public static final java.util.function.Predicate<java.lang.String> stringContainsWhitespacePredicate
evaluates to true if a string contains a space
-
stringContainsQuotePredicate
public static final java.util.function.Predicate<java.lang.String> stringContainsQuotePredicate
evaluates to true if a string contains a quote
-
UNIX_ARGUMENT_QUOTE
public static final Converter<java.lang.String,java.lang.String> UNIX_ARGUMENT_QUOTE
Converter that can escape shell-special characters
-
UNIX_SHELL_ESCAPE
public static final Converter<java.lang.String,java.lang.String> UNIX_SHELL_ESCAPE
Converter that can escape shell-special characters
-
UNIX_SHELL_CHARS
public static final java.lang.String UNIX_SHELL_CHARS
- See Also:
- Constant Field Values
-
UNIX_SHELL_CHARS_NO_QUOTES
public static final java.lang.String UNIX_SHELL_CHARS_NO_QUOTES
- See Also:
- Constant Field Values
-
-
Method Detail
-
generateArgline
public static java.lang.String generateArgline(java.lang.String scriptpath, java.lang.String[] args)Create an appropriately quoted argline to use given the command (script path) and argument strings.- Parameters:
scriptpath- path to command or scriptargs- arguments to pass to the command- Returns:
- a String of the command followed by the arguments, where each item which has spaces is appropriately quoted. Pre-quoted items are not changed during "unsafe" quoting. At this point in time, default behavior is "unsafe" quoting.
-
generateArgline
public static java.lang.String generateArgline(java.lang.String scriptpath, java.lang.String[] args, java.lang.Boolean unsafe)Create an appropriately quoted argline to use given the command (script path) and argument strings.- Parameters:
scriptpath- path to command or scriptargs- arguments to pass to the commandunsafe- whether to use backwards-compatible, known-insecure quoting- Returns:
- a String of the command followed by the arguments, where each item which has spaces is appropriately quoted. Pre-quoted items are not changed during "unsafe" quoting.
-
generateArgline
public static java.lang.String generateArgline(java.lang.String scriptpath, java.lang.String[] args, java.lang.String separator, java.lang.Boolean unsafe)Create an appropriately quoted argline to use given the command (script path) and argument strings.- Parameters:
scriptpath- path to command or scriptargs- arguments to pass to the commandseparator- character to use to separate argumentsunsafe- whether to use backwards-compatible, known-insecure quoting- Returns:
- a String of the command followed by the arguments, where each item which has spaces is appropriately quoted. Pre-quoted items are not changed during "unsafe" quoting.
-
containsSpace
public static boolean containsSpace(java.lang.String arg)
- Parameters:
arg- string- Returns:
- true if the string contains any whitespace
-
containsQuote
public static boolean containsQuote(java.lang.String arg)
- Parameters:
arg- string- Returns:
- true if the string contains any whitespace
-
quoteUnixShellArg
public static java.lang.String quoteUnixShellArg(java.lang.String arg)
-
characterEscapeForOperatingSystem
public static Converter<java.lang.String,java.lang.String> characterEscapeForOperatingSystem(java.lang.String type)
-
argumentQuoteForOperatingSystem
public static Converter<java.lang.String,java.lang.String> argumentQuoteForOperatingSystem(java.lang.String type)
-
escapeUnixShellChars
public static java.lang.String escapeUnixShellChars(java.lang.String str)
-
escapeUnixShellChars
public static java.lang.String escapeUnixShellChars(java.lang.String str, java.lang.String shellChars)
-
escapeUnixShellChars
public static void escapeUnixShellChars(java.lang.StringBuilder out, java.lang.String str, java.lang.String unixShellChars)
-
-