Uruchamianie skryptu powłoki z kodu java i przekazywanie argumentów
Wykonuję skrypt powłoki z programu Java. Zaimplementowałem go za pomocą klasy Runtime. Poniżej znajduje się kod, który zaimplementowałem
final StringBuilder sb = new StringBuilder("test.sh");
sb.append("/path to/my/text file");
final Process p = Runtime.getRuntime().exec(sb.toString());
Tutaj sb jest obiektem bufora ciągów, w którym dołączam moje parametry i używam go w metodzie exec. Problemem jest jednak parametr, który przekazuję „/ ścieżka do / mój / plik tekstowy” jest traktowany jako 4 parametry
/path
to
/my/text
file
Ale jeśli działa w powłoce jako test.sh "/ ścieżka do / mój / plik tekstowy", który jest traktowany jako pojedynczy parametr. W jaki sposób mogę osiągnąć to samo za pomocą kodu Java, gdzie muszę rozważyć tę ścieżkę ze spacjami jako pojedynczy argument. Wszelkie proszę będą naprawdę znaczące.