我正在尝试使用重定向(>&)和管道(|)从Java执行一些Linux命令。Java如何调用csh或bash命令?
(>&)
(|)
csh
bash
我试图用这个:
Process p = Runtime.getRuntime().exec("shell command");
但是它与重定向或管道不兼容。
exec在你的shell中不执行命令
exec
尝试
Process p = Runtime.getRuntime().exec(new String[]{"csh","-c","cat /home/narek/pk.txt"});
代替。
编辑::我的系统上没有csh,所以我改用bash。以下为我工作
Process p = Runtime.getRuntime().exec(new String[]{"bash","-c","ls /home/XXX"});