Exécution de commandes redirigées avec Runtime.exec()
Malgré les défis multiplateformes inhérents, la méthode Runtime.exec() fournit des prise en charge de la tuyauterie en Java. Voici comment vous pouvez en tirer parti :
Option 1 : Utilisation de scripts Shell
Comme suggéré dans la réponse, vous pouvez créer un script intermédiaire qui encapsule les commandes de tuyauterie. Par exemple :
#! /bin/sh ls /etc | grep release
Ensuite, exécutez ce script via Runtime.exec() :
Process process = Runtime.getRuntime().exec(new String[] {"/path/to/script"});
Option 2 : passer explicitement des commandes de tuyauterie
Pour contourner le shell, vous pouvez fournir les commandes de tuyauterie dans les arguments Runtime.exec() array :
String[] cmd = { "/bin/sh", "-c", "ls /etc | grep release" }; Process process = Runtime.getRuntime().exec(cmd);
Cela garantit que le shell est invoqué avec les commandes explicites et les exécutera en conséquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!