Я пытаюсь получить команду расширения для работы с runtime.exec, но скобки интерпретируются как литералы, а не расширяются. Вот что я пытаюсь сделать:Расширение скобки оболочки (bash) с использованием Java runtime.exec
String command = "mkdir -p Foldername{1,2,3}/InnerFolder";
Runtime.getRuntime().exec(new String[] { "sh", "-c", command });
К сожалению, это дает мне одну папку в моем текущем каталоге с именем «имя_папки {1,2,3}» вместо «Foldername1», «Foldername2», и "Foldername3". Кто-нибудь знает, как предотвратить кодирование фигур как литералов?
Как ни странно, он указывал «bash», а не просто «sh», который решил это для меня. Должен любить, как AIX делает все немного иначе, чем остальная часть мира ... Независимо от того, спасибо! –
@David: Это не AIX. Оболочка Bourne ('sh') не поддерживает расширения фигурных скобок. –
Я имел в виду больше, чем sh/bash на самом деле отличается от AIX. В каждой системе Linux, с которой я был в последнее время, sh и bash имеют символическую связь (не помню, как это происходит), но один и тот же двоичный файл выполняется в любом случае. –