编程语言
首页 > 编程语言> > Java – 运行时的命令执行

Java – 运行时的命令执行

作者:互联网

我尝试了一个简单的程序来在运行时执行Linux命令.但下面的程序编译并运行没有任何错误,但文本文件没有按预期创建.这个程序有什么问题吗?

import java.io.*;
class ExecuteJava
{
    public static void main(String args[])
    {
            String historycmd = "cat ~/.bash_history >> Documents/history.txt";
            try
            {
                    Runtime runtime = Runtime.getRuntime();
                    Process proc = runtime.exec(historycmd);
            }
            catch(Exception e)
            {
                    System.out.println(e);
            }
    }
}

解决方法:

追加运算符>>意味着被解释为命令shell的一部分.使用

String[] historycmd = 
           { "bash", "-c", "cat ~/.bash_history >> Documents/history.txt"};

标签:java,runtime-exec
来源: https://codeday.me/bug/20190629/1325790.html