Maison >Java >javaDidacticiel >Comment puis-je exécuter des commandes redirigées à l'aide de Runtime.exec() de Java ?

Comment puis-je exécuter des commandes redirigées à l'aide de Runtime.exec() de Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-24 04:29:15217parcourir

How Can I Execute Piped Commands Using Java's Runtime.exec()?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn