in rake-runner-agent/src/jetbrains/buildServer/agent/ruby/rvm/RVMCommandLineProcessor.java [180:212]
static String escapeShellArgument(final String arg) {
return StringUtil.escapeStr(arg, new StringUtil.EscapeInfoProvider2() {
@Nullable
@Override
public String escape(final char c) {
switch (c) {
case '\"':
return "\"";
case '$':
return "$";
case '`':
return "`";
case '\\':
return "\\";
case '\n':
return "\n";
default:
return null;
}
}
@Nullable
@Override
public MapSerializerUtil.UnescapeResult unescape(@NotNull final String str, final int startPos) {
return null;
}
@Override
public char escapeCharacter() {
return '\\';
}
});
}