从 Java 调用 Linux Shell 命令:详细说明
当尝试从 Java 中执行 Linux 命令时,了解以下内容至关重要: shell 特定命令的细微差别及其与 Java 运行时的兼容性
挑战:使用重定向和管道执行命令
使用 Process p = Runtime.getRuntime().exec("shell command") 的初始尝试失败处理重定向或管道。这是因为 exec() 不直接与系统 shell 集成。
解决方案:利用 Shell“代理”
通过重定向和管道执行 shell 命令,您可以利用“外壳代理”方法。这涉及指定要用作中间步骤的 shell。
实现:
将 exec() 替换为以下内容:
Process p = Runtime.getRuntime().exec(new String[]{"csh", "-c", "cat /home/narek/pk.txt"});
中在此示例中,“csh”是用于解释命令“cat”的 shell 代理/home/narek/pk.txt"。
附加说明:
如果您在使用 csh 时遇到问题,请考虑使用 bash 作为 shell 代理:
Process p = Runtime.getRuntime().exec(new String[]{"bash", "-c", "ls /home/XXX"});
以上是如何从 Java 执行带有重定向和管道的 Linux Shell 命令?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

记事本++7.3.1
好用且免费的代码编辑器