Я работаю с API для Sonar (http://javadocs.sonarsource.org/4.5/apidocs/org/sonar/api/utils/command/Command.html), и он говорит, что функция выполняет команды, которые «команда будет исполнена с исполняемым файлом sh».
То, что я хочу сделать, это просто использоватьОткрыть исполняемый файл с «sh» под Ubuntu
tslint path/to/my/code.ts
в терминале (так как это работает). Но проклятый метод excutes строки с «ш», так это выглядит примерно так
sh tslint path/to/my/code.ts
и дает мне ошибку
sh: 0: can't open tslint
Как работать вокруг этого просто выполнить «tslint» несмотря на то, команда начинается с sh?
Спасибо за помощь
EDIT: Так как многие из вас спрашивали, что код Java выглядит, что производит эту команду (не мое, это из проекта с открытым исходным кодом):
Command command = Command.create("tslint");
command.addArgument("--config " + configFile + " --format json " + file.trim());
окончательного редактирования :
рабочая версия:
Command command = Command.create("node");
command.addArgument(pathToTsLint);
command.addArgument("--format");
command.addArgument("json");
command.addArgument("--config");
command.addArgument(configFile);
command.addArgument(file.trim());
command.setNewShell(false);
Вы добавили разрешение «excute» на этот файл? check chmod command –
Пожалуйста, продемонстрируйте код, который вы пытаетесь использовать. В оболочке вы можете использовать «sh -c» tslint path/to/my/code.ts'', но неясно, как адаптировать это к используемому API. – chepner
'Command command = Command.create (" tslint ");' 'command.addArgument (" - config "+ configFile +" --format json "+ file.trim());' –