Ich versuche, den Befehl git mit dem Java-Programm unter Windows auszuführen.
git --git-dir D:code_coverage.git blame "src/RunCodeCoverage.java"
| grep e4ecfbe | awk "{print $7}"
es gibt mir Fehler:
fatal: cannot stat path "$7}"": No such file or directory
Beim Ausführen dieses Befehls an der Eingabeaufforderung werden die gewünschten Ergebnisse angezeigt.
Bitte helfen Sie!
Antworten:
1 für die Antwort № 1Auf einem CMD unter Windows kann ich es mit doppelten Anführungszeichen für die awk
Parameter:
git --git-dir D:code_coverage.git blame "src/RunCodeCoverage.java"
| grep e4ecfbe | awk "{print $7}"
Beachten Sie, dass mein awk.exe
kommt von Gnu unter Windows.
Das OP erwähnt die Verwendung dieses Befehls in Java mit:
String commandToBeExecuted="git --git-dir D:code_coverage.git blame "src/RunCodeCoverage.java" | grep e4ecfbe | awk "{print $7}""";
Process p = Runtime.getRuntime().exec(commandToBeExecuted);
Sie übergeben jedoch niemals alle Parameter als eine einzige Zeichenfolge.
Verwenden Sie ein Array wie in "Quotes innerhalb von getRuntime () verwenden. Exec" und in "Wie lassen sich Pipes mit Runtime.exec () arbeiten"
Process p = Runtime.getRuntime().exec(new String[]{"cmd", "/c", commandToBeExecuted);
Entkomme die Anführungszeichen commandToBeExecuted
:
commandToBeExecuted = "git --git-dir D:code_coverage.git blame "src/RunCodeCoverage.java"
| grep e4ecfbe | awk "{print $7}""