无法通过Runtime.exec运行命令

时间:2019-02-01 07:16:09

标签: java macos shell unix

下面的命令我可以通过终端运行,但是当我尝试通过Java代码执行该命令时,它会给出127个退出代码。

sledge connect --cluster_id=<name> --namespace=<name> --password=<pass>

Java:

   try {
            String[] cmd = { "/bin/bash", "sledge connect --cluster_id=<name> --namespace=<name> --password=<pass>"};
            Process p = Runtime.getRuntime().exec(cmd);
            int po = p.waitFor();
            System.out.println(po);
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }

1 个答案:

答案 0 :(得分:1)

您需要在命令数组中添加“ -c”,所以请替换:

Array.from(document.querySelectorAll('span')).filter(i => /(\d+)\spoint/.test(i.innerHTML)).forEach(i => i.style.display = 'none');

Array.from(document.querySelectorAll('div')).filter(i => /moreComments-/.test(i.id)).forEach(i => i.querySelector('p').click());

setTimeout(function() {
    Array.from(document.querySelectorAll('span')).filter(i => /(\d+)\spoint/.test(i.innerHTML)).forEach(i => i.style.display = 'none');
},7000)

使用:

MutationObserver

从bash手册中:

  

-c字符串如果存在-c选项,则从字符串中读取命令。如果字符串后面有参数,则将它们分配给   位置参数                    ters,从$ 0开始。