当前位置:  技术问答>linux和unix

java调用shell命令 不能正确执行

    来源: 互联网  发布时间:2017-01-22

    本文导语:  public static void main(String args[]) throws Exception{ Process p1 = null; String exep1 = "grep -c 'TAG' /home/zhenm/xiaoxiao/run/test"; System.out.println(exep1); p1=Runtime.getRuntime().exec(exep1); // 等待命令执行完毕 p1.waitFor();   //获取执行结...

public static void main(String args[]) throws Exception{
Process p1 = null;
String exep1 = "grep -c 'TAG' /home/zhenm/xiaoxiao/run/test";
System.out.println(exep1);
p1=Runtime.getRuntime().exec(exep1);

// 等待命令执行完毕
p1.waitFor();
  //获取执行结果
InputStream out1= p1.getInputStream();
InputStreamReader in1 = new InputStreamReader(out1);
BufferedReader br1 = new BufferedReader(in1);

String line1=null;
String res1="";
line1=br1.readLine();
while(line1!=null){
res1=res1+line1;
line1=br1.readLine();
}

System.out.println(res1);


我在java中用grep -c命令来检测一个文件中有多少行包含某个字符串,如上代码中:命令grep -c 'TAG' /home/zhenm/xiaoxiao/run/test直接在shell下运行结果是正确的,结果为1,因为test里面有一行包含字符TAG,但是放在java程序里面调用执行,结果总是0,总得不到和shell一致的正确结果。
麻烦高手帮忙,这个问题困扰我好几天了,急急急啊!先谢谢大家~

|
#grep "root" /etc/passwd
root:x:0:0:root:/root:/bin/sh

#echo $?
0

#grep "roottest" /etc/passwd

#echo $?
1

|
shell执行成功后返回结果是0

|

p.waitFor()得到的是grep执行成功后的返回值,shell上打印的是grep -c 的标准输出

    
 
 

您可能感兴趣的文章:

  • VB编写的DLL不能被JAVA调用,用C将VB编写的DLL包装起来,做成一个新的DLL;用C编写的DLL可以被JAVA调用,用JAVA再进行一层的包装,因为JAV
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 可不可以用java调用其他语言的编译结果?(好象asp调用com那样)
  • 请问如何在Java中调用一个VB所写的DLL?如何调用这个Dll的方法?如何取得和设置这个Dll的属性值?谢谢!
  • ###java调用COM组件或COM调用java组件(EJB)解决办法。###
  • java线程怎么调用java的application.class?
  • 求救!!如何在java程序中调用外部非java的exe文件?
  • 急!请问有分析java程序性能瓶颈的工具吗?例如,统计 java 程序中函数调用次数?
  • java.awt 和java.util都有List,想调用awt的List而出现Ambiguous class错误怎么办?
  • 一个.java文件中怎样来调用另一个.java文件中的变量及其它东西!
  • java调用sh脚本遇到export命令会卡住,sh不能调用子sh
  • Java能调用OLE对象吗?怎样利用Java生成Excel报表?
  • java打包后如何调用?
  • 请问Java可否调用MsSQL的存储过程,如何调用?
  • 奇怪?我在jsp中调用java类。java类本身编译没错,但jsp中的引用Tomcat总是报错。
  • java能否调用dll或ocx
  • 如何用java调用word?来者给分!·!!!!!
  • 怎么在java里调用一个oracle的procedure呢?
  • 我在APPLET里调用JAVAMAIL发邮件,出现java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write)的错误???
  • 求教!!!VC应用调用Java模块可行吗?
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java怎样实现 运行dos命令行的命令或者windows的程序
  • Saloris系统下,如何使用java调用setenv命令和source命令????
  • windows命令行中java和javac、javap使用详解(java编译命令)
  • java程序在linux运行,要用Runtime.exec()执行外部命令,可外部命令中关于文件操作的路径都很长,如何使用相对路径.在线等待
  • 请java高手,为我解释一下这个命令是干什么的?《java核心技术2》
  • 运行JAVA命令错误
  • 我用JDK中的javac命令编译一个test.java。系统提示不能打开test.java该文件!!!
  • 如何使用java这个命令?
  • msdos中如何用java命令执行程序
  • 我要生成java 的文档在dos 下用什么命令.
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何用JAVA执行本机Linux操作系统的可执行文件?一定给分!在线等待!
  • 我刚看java,知道它的目标代码是解释执行的,目标执行速度快吗?
  • 怎么在java程序中执行系统命令或其他可执行程序(像批处理一样)?
  • 请问JAVA如何执行(调用)操作系统命令,如dir,然后把执行结果存入变量或文件,谢谢!
  • 谁有办法用java执行于java.exe不在一个目录的class文件?
  • 在java中如何启动非java的可执行程序?
  • java里有什么函数可以检查 java 代码并执行它?
  • 请问大侠:都说JSP比ASP执行速度快, 但这和JAVA本身速度慢(靠虚拟机执行) 有何关系???
  • 我用telnet登陆到linux下运行了一个java程序,在关闭了telnet后怎么能让这个java程序继续执行
  • 我用telnet登陆到linux下运行了一个java程序,在关闭了telnet后怎么能让这个java程序继续执行,请高手指点一下
  • 请问大侠:都说JSP比ASP执行速度快, 但这和JAVA本身速度慢(靠虚拟机执行)有何关系???
  • java怎样生成可执行文件?
  • 急求:如何在linux定期执行某个java程序?(在线等!)
  • 如何定时执行一个java程序
  • java文件的执行问题.
  • TEXTPAD怎么执行JAVA 的?
  • 请问如何在Java中执行SQL的块语句?
  • Java 简单共享执行器 Executor
  • 如何执行JAVA类
  • 请教高手: 如何写一个shell执行java的class?
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    我要生成java 的文档在dos 下用什么命令. iis7站长之家