【发布时间】:2013-03-28 14:54:48
【问题描述】:
当我从 java 执行 linux 命令时,它不起作用任何人都可以帮助我解决这个问题。
process3 = Runtime.getRuntime().exec(new String[] {"ls",
"-1s",
"--block-size=1",
TStamp+"/received/i*.*",
"$dir|",
"awk",
"'{print $2\"\\t\"$1}'",
">>",
"./"+TStamp+"/qa/manifest_QAG.txt"});
InputStream in1 = process3.getInputStream();
BufferedReader br1=new BufferedReader(new InputStreamReader(in1));
String line1 =null;
while((line1=br1.readLine())!=null)
{
System.out.println(line1);
}
Edit1:我试图列出文件并在 manifest_QAG.txt 中生成清单
实际命令在 linux 下工作:
ls -1s --block-size=1 20130328094916142/received/is*.* $dir| awk '{print $2"\t"$1}'
Edit2:我没有得到任何异常,甚至没有创建文件 manifest_QAG.txt
编辑 3:
【问题讨论】:
-
究竟是什么不起作用?
-
我正在尝试列出文件并在 manifest_QAG.txt 中生成清单
-
但是怎么了?输出是什么?有输出吗?也许例外?
-
我什至没有得到异常,也没有创建文件 manifest_QAG.txt
-
你不能在一个
String中写入所有以数组形式写入的命令吗?我猜你放在 String 数组中的命令语法有一些错误
标签: java linux inputstream runtime.exec