导航:首页 > 编程语言 > shelljava返回值

shelljava返回值

发布时间:2022-11-01 07:28:33

Ⅰ shell里判断返回值的问题

你不要输出结果,那就将结果重定向至 /dev/null 即可,具体代码就是:

你的命令后面加上 >/dev/null 就不会有输出结果了。举个简单的例子:

ping -c 192.168.1.1 这个命令,用于判断到这个IP是否畅通,如果你在后面不加上重定向。

那么每次都会输出结果,也就是你现在的情况。所以下面代码我就在ping的后面加上了重定向

代码,让结果屏蔽,仅获取返回值$?,那屏幕上就不会显示ping的结果了,只会显示下面判断结果,懂了么?

#!/bin/bash
ping-c2192.168.1.1>/dev/null
if[$?-eq0];then
echo192.168.1.1isokey!
else
echo192.168.1.1isfailed!
fi

Ⅱ shell 里面调用 java 怎么取到java地返回值呀

shell:var=`java Demo`
Demo.java:System.out.print("赋给shell变量的值")

最简单的方法了。

Ⅲ 使用java连接linux,执行shell命令返回值有乱码,怎么解决

packagecom.pasier.xxx.util;

importjava.io.IOException;
importjava.io.InputStream;
importjava.nio.charset.Charset;

importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;

importch.ethz.ssh2.ChannelCondition;
importch.ethz.ssh2.Connection;
importch.ethz.ssh2.Session;
importch.ethz.ssh2.StreamGobbler;

publicclassRmtShellExecutor{

privatestaticfinalLoggerLOG=LoggerFactory.getLogger(RmtShellExecutor.class);

privateConnectionconn;
privateStringip;
privateStringusr;
privateStringpsword;
privateStringcharset=Charset.defaultCharset().toString();

privatestaticfinalintTIME_OUT=1000*5*60;

publicRmtShellExecutor(Stringip,Stringusr,Stringps){
this.ip=ip;
this.usr=usr;
this.psword=ps;
}

privatebooleanlogin()throwsIOException{
conn=newConnection(ip);
conn.connect();
returnconn.authenticateWithPassword(usr,psword);
}

publicStringexec(Stringcmds)throwsIOException{
InputStreamstdOut=null;
InputStreamstdErr=null;
StringoutStr="";
StringoutErr="";
intret=-1;

try{
if(login()){
Sessionsession=conn.openSession();
session.execCommand(cmds);
stdOut=newStreamGobbler(session.getStdout());
outStr=processStream(stdOut,charset);
LOG.info("caijl:[INFO]outStr="+outStr);
stdErr=newStreamGobbler(session.getStderr());
outErr=processStream(stdErr,charset);
LOG.info("caijl:[INFO]outErr="+outErr);
session.waitForCondition(ChannelCondition.EXIT_STATUS,TIME_OUT);
ret=session.getExitStatus();

}else{
LOG.error("caijl:[INFO]ssh2loginfailure:"+ip);
thrownewIOException("SSH2_ERR");
}

}finally{
if(conn!=null){
conn.close();
}
if(stdOut!=null)
stdOut.close();
if(stdErr!=null)
stdErr.close();
}

returnoutStr;
}

privateStringprocessStream(InputStreamin,Stringcharset)throwsIOException{
byte[]buf=newbyte[1024];
StringBuildersb=newStringBuilder();
while(in.read(buf)!=-1){
sb.append(newString(buf,charset));
}
returnsb.toString();
}

publicstaticvoidmain(String[]args){

Stringusr="root";
Stringpassword="12345";
StringserverIP="11.22.33.xx";
StringshPath="/root/ab.sh";

RmtShellExecutorexe=newRmtShellExecutor(serverIP,usr,password);

StringoutInf;

try{
outInf=exe.exec("sh"+shPath+"xn");
System.out.println("outInf="+outInf);
}catch(IOExceptione){
e.printStackTrace();
}
}

}

Ⅳ 用shell执行的程序怎么取得返回值

shell中,$? 就是上一个执行命令或函数的返回码, 例如 执行命令xxxxx echo $? 就输出了执行命令xxxxx的返回码,当然也可以把$?保存到一个变量中,用于后续的计算或者其他判断逻辑。

Ⅳ java执行带参数的shell脚本并返回值

文件名确实不对
.sh文件才是linux下的批处理文件,它不认bat的
另外要保证.sh中调用的其他函数在当前目录下能正常运行

Ⅵ Java解析执行shell命令返回的结果

String s = 那串结果;
String useful = s.substring(s.indexOf("/"));
String[] every = useful.split(" /");
得到的数组就是每个的信息,然后再解析(但要注意,第一个的开头有一个斜线/)

Ⅶ java调用shell脚本,并得到shell脚本的返回值

文件名确实不对
.sh文件才是linux下的批处理文件,它不认bat的
另外要保证.sh中调用的其他函数在当前目录下能正常运行

Ⅷ shell脚本调用java返回的字符串含有shell变量如何解析

先运行java程序,然后用echo $?获取程序的运行结果,如果是字符串,可以使用
result=$(java -jar xxx.jar)来获取,当然这只是示例,$()中的命令使可以随便修改的

Ⅸ java 执行shell 脚本 返回 find的内容~~求助

你先打印pathshell这个变量,看这个变量是不是正确的,如果不正确,当然无法定位到find命令了。
你后面的代码是没有问题的,只能出在这个地方。
还有你的find命令没有参数传入啊,命令参数之类的还是是需要的。

阅读全文

与shelljava返回值相关的资料

热点内容
数据库查询系统源码 浏览:617
php5314 浏览:357
完美国际安装到哪个文件夹 浏览:668
什么app可以扫一扫做题 浏览:539
程序员编码论坛 浏览:923
淘点是什么app 浏览:659
中国高等植物pdf 浏览:453
51单片机时间 浏览:182
后台如何获取服务器ip 浏览:267
单片机流水灯程序c语言 浏览:234
程序员第二职业挣钱 浏览:238
运行里怎么输入服务器路径 浏览:840
pythonstepwise 浏览:509
刘一男词汇速记指南pdf 浏览:64
php认证级别 浏览:368
方舟编译啥时候推送 浏览:1011
php手机验证码生成 浏览:675
哲学思维pdf 浏览:14
凌达压缩机有限公司招聘 浏览:534
weblogic命令部署 浏览:37