неожиданное исключение EOF при использовании rumtimeexec - PullRequest
0 голосов
/ 13 июня 2019
String cmdStr = "/bin/sh -c \"if [ -h /tmp/swwc12 ] ; 
then echo exists; fi\""; 
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(getCmdArr(cmdStr)); 


public static final String[] getCmdArr(String cmdStr) 
{
    StringTokenizer st = new StringTokenizer(cmdStr);
    String[] cmdArr = new String[st.countTokens()];
    for (int i=0; st.hasMoreTokens(); i++) {
      cmdArr[i] = st.nextToken();
    }
    return ( cmdArr );
}

ожидаемый вывод, чтобы показать, существует ли символическая ссылка для данного пути.

фактический результат: команда / bin / sh -c "if [-h / tmp / swwc12]; тогда эхо существует; fi"

выход:

ошибка

[: -c: строка 0: неожиданный EOF при поиске соответствия `" ' [: -c: строка 1: синтаксическая ошибка: неожиданный конец файла

...