Я пытаюсь передать строку в java-программу в качестве аргумента командной строки для некоторой обработки, и она работает нормально, за исключением сценария, в котором переданный аргумент String имеет некоторые специальные символы (например, $). Выполняя СОП, я обнаружил, что сам аргумент был искажен случайными числами вместо специальных символов. Это происходит ТОЛЬКО в Linux и ТОЛЬКО когда аргумент содержит некоторые специальные символы.
$ java -jar testclient.jar String$$123
String 1 = String31733123
java -jar testclient.jar 'String$$123'
- person OneCricketeer   schedule 17.03.2017$$
- это идентификатор процесса. Вам нужно избежать его, если вы не хотите, чтобы оболочка заменяла его числом. например'String$$123'
- person Peter Lawrey   schedule 17.03.2017