Maison >Java >javaDidacticiel >Comment puis-je exécuter des commandes Linux complexes avec des redirections et des canaux depuis Java ?
Exécuter des commandes Linux avec des redirections et des tuyaux en Java
Invoquer des commandes shell Linux à partir de Java peut être fastidieux lorsqu'il s'agit de redirections et de tuyaux. La méthode Runtime.exec() par défaut est limitée dans la gestion de ces constructions.
Pour surmonter cette limitation, modifiez l'appel exec() pour spécifier explicitement l'interpréteur shell et transmettez la commande en argument :
String[] command = {"csh", "-c", "shell command"}; Process p = Runtime.getRuntime().exec(command);
Dans cet exemple, "csh" est invoqué comme interpréteur du shell et "shell command" est traité comme un argument du shell. Cette syntaxe prend en charge les redirections et les tuyaux, vous permettant d'exécuter des commandes complexes telles que :
Process p = Runtime.getRuntime().exec(new String[]{"bash", "-c", "cat file.txt | grep 'pattern'"});
Gardez à l'esprit que la disponibilité des interpréteurs shell comme "csh" ou "bash" peut varier en fonction de votre système. Si vous rencontrez des problèmes, essayez plutôt d'utiliser un interprète disponible.
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!