Когда я использую Terminal/Bash для вызова команды Image Magick, такой как «convert», моя команда преуспевает. Если я использую системный процесс из сценария C# для передачи аргументов в консоль Bash с помощью той же команды «convert», она вернется с командой ошибки, не найденной через StandardRedirectError.Команда не найдена при использовании системного процесса
Почему команда не найдена при использовании системного процесса? например
ProcessStartInfo startInfo = new ProcessStartInfo("/bin/bash");
startInfo.WorkingDirectory = installFolder;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
if (process != null) {
process.StandardInput.WriteLine ("convert"); //error: command not found
process.StandardInput.WriteLine ("echo \"hello world\""); //output: "hello world"
Благодаря
Это более простой способ, когда вы вызываете приложение или скрипт с аргументами, я уже прошел этот барьер. Я использую метод StandardInput.WriteLine() для передачи аргументов в консоль bash до тех пор, пока процесс не завершится или не завершится. Я все равно обновлю свой код, чтобы сделать его более понятным. ;) – Beloudest
Глядя на ваш обновленный вопрос - конвертируется по нужному пути? Что, если вы полностью его квалифицируете @ "C: \ myfolder \ convert.exe"? –
Линия «конвертировать» - это команда командной строки Image Magick, которая сама по себе представляет справочную информацию. Image Magick настроен как путь к среде, насколько мне известно, из-за того, что я могу вызвать его через терминал или/bin/bash вручную. Именно это вызывает у меня путаницу, так как передача команды с или без полных аргументов заканчивается неудачей, но простое эхо преуспевает. Я попытаюсь найти точный путь в моей системе и посмотреть, поможет ли это. Он может быть установлен во многих местах на системах, и использование абсолютного пути не идеально подходит для инструмента, который я создаю. Thx, ввод оценивается. – Beloudest