In Java kann das Ausführen von Befehlen mit Parametern über die Methode Runtime.getRuntime().exec() erreicht werden. Bei der effektiven Angabe von Parametern sind jedoch bestimmte Nuancen zu berücksichtigen.
Der folgende Code versucht, den PHP-Befehl mit einem Parameter auszuführen, aber es funktioniert nicht:
Process p = Runtime.getRuntime().exec(new String[]{"php","/var/www/script.php -m 2"});
Das Problem liegt hier in der Art und Weise, wie Parameter an den Befehl übergeben werden. Der Parameter -m muss als separates Argument angegeben werden, wie unten gezeigt:
Runtime.getRuntime().exec(new String[]{"php","/var/www/script.php", "-m", "2"});
Jetzt wird der PHP-Befehl wie vorgesehen mit dem Parameter -m 2 ausgeführt.
Ein weiterer Versuch, die exec()-Methode mit einem Optionsarray zu verwenden, ist ebenfalls erfolglos:
String[] options = new String[]{"option1", "option2"}; Runtime.getRuntime().exec("command", options);
Die Der Grund dafür, dass dieser Code fehlschlägt, ist, dass die Parameter nicht richtig getrennt sind. Der Befehl selbst wird als String angegeben und das Optionsarray enthält zusätzliche Parameter. Um den Befehl mit diesen Parametern auszuführen, müssen sie zu einer einzigen Zeichenfolge verkettet werden.
Um beispielsweise den Befehl „command“ mit den Optionen „option1“ und „option2“ auszuführen, kann der folgende Code verwendet werden :
Runtime.getRuntime().exec(new String[]{"command", "option1", "option2"});
Durch die Einhaltung der richtigen Syntax und Trennung der Parameter kann die exec()-Methode effektiv zum Ausführen von Befehlen mit Parametern in Java genutzt werden.
Das obige ist der detaillierte Inhalt vonWie kann man Parameter beim Ausführen von Befehlen in Java effektiv übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!