我在目录'/ tmp'中有两个文件:test.txt,test.pl
test.txt的内容是:
abcdefg
test.pl的内容是:
#!/usr/bin/perl -w
chdir '/tmp';
$data = `more test.txt`;
open (MYFILE,">","newtest.txt") || die ("can not open this file");
print MYFILE $data;
然后在java类中我写道:
Process ps1= Runtime.getRuntime().exec("perl /tmp/test.pl ");
然后从perl生成的newtest.txt的内容是:
:::::::::::
test.txt
:::::::::::
abcdefg
这是问题,存在差异
:::::::
test.txt
:::::::
但是当我在linux中运行'perl test.pl'时,两个文件之间没有区别。
谁知道原因?谢谢!
答案 0 :(得分:1)
more
在这里是有罪的。它旨在一次查看一个文件并等待点击,例如 SPACE 显示下一页。请尝试使用cat
代替more
,看看是否是原因。
more
尝试智能并自动检测是否在交互情况下调用它,但有时会失败。根据其设置,它可能会表现为cat
,但您无法确定...