
正文
java代码执行sh脚本,java 执行sh脚本
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java如何执行远程服务器上的.sh文件
1、上面的代码首先是声明了一个代表命令的字符串commands,它代表了ls -l这个命令。
2、使用java代码通过ssh登陆linux并执行命令,正常情况下sshd服务都会有,知道用户密码就可以使用这种方式了。
3、如果shell脚本和java程序运行在不同的服务器上,可以使用远程执行Linux命令执行包,使用ssh2协议连接远程服务器,并发送执行命令就行了,ganymed.ssh2相关mave配置如下,你可以自己百度搜索相关资料。
4、下面说一下,如何使用process来调用shell脚本 例如,我需要在linux下实行linux命令:sh test.sh,下面就是执行test.sh命令的方法:这个var参数就是日期这个201102包的名字。
5、java程序是提供了这个一方法, Process pro = Runtime.getRuntime().exec(cmds); 但是一般来说,尽量去用一些其他脚本(lua,shell,python)去执行一系列linux命令比较灵活, 而且耗费资源少。
6、/usr/local/a.bat 文件没有被授予可执行权限,导致无法执行;java 未能识别sh 命令,最好调用java.lang.Runtime.exec(String cmd, String[] envp)方法,将sh 的上下文路径设置进去,估计就没有问题了。
相关问答
Q1: 如何在java程序中调用linux命令或者shell脚本
1、这是你在linux下面执行shell脚本需要注意的问题。没有的话,就需要添加权限,就用chmod 777,否则在执行到Runtime.getRuntime().exec的时侯会出现Permission denied错误。
2、Linuxdf命令,用于显示目前在系统上的磁盘使用情况统计,主要用于查看磁盘的分区,磁盘已使用的空间,剩余的空间。
3、text.txt);或 test.sh:!/bin/bash top -n 1test.txt Runtime.getRuntime().exec(test.sh);Runtime.getRuntime().exec(bash test.sh);多试试,肯定是这样调用的,只有这个方法是调用本地进程的。
Q2: java执行sh文件,如何获取到错误信息?
1、后面的流操作则是获取进程的流信息,并把它们一行行输出到屏幕。
2、错误原因:SyntaxError: unterminated string 错误,翻译过来就是:syntaxerror:未结束的字符串。解决办法:用subprocess.call([python, watcher.py, i])代替os.system(python watcher.py +i)。
3、你可以增加两个进程,一个用来监视telnet的输出,另外一个用来监视是不是有错。你分析那个telnet的输出就好了。
4、检查您的环境变量是否设置正确 如果您已经安装了Java,但仍然遇到了 未找到命令 错误消息,请检查您的操作系统的环境变量是否正确设置。
5、error属于编译时错误,根本不会编译通过,也就是不会生成.class文件,exception属于运行时错误,只有在调用的时候才会报错,比如空指针或数组下标越界等等。使用IDE编程,直接就显示error错误了,不用专门去获取。
Q3: java执行带参数的shell脚本并返回值
你先打印pathshell这个变量,看这个变量是不是正确的,如果不正确,当然无法定位到find命令了。你后面的代码是没有问题的,只能出在这个地方。还有你的find命令没有参数传入啊,命令参数之类的还是是需要的。
可以在trap命令中指定处理异常的方式,比如输出错误信息或执行其他操作。在shell脚本中,可以使用java命令行工具来执行java-jar文件。使用java命令的返回值来判断java程序的执行情况。
其中的exec函数返回一个执行shell命令的子进程。
param1, param2, param3:可以在RUNNING_SHELL_FILE脚本中直接通过1,2,$3分别拿到的参数。
Q4: 把java工程生成可在linux下执行的.sh的步骤?
1、例如,我需要在linux下实行linux命令:sh test.sh,下面就是执行test.sh命令的方法:这个var参数就是日期这个201102包的名字。
2、HOME/duanyt CLASSPATH=$CLASSPATH:$jarexport CLASSPATH=.:$CLASSPATH 这样应该就可以了吧,那个for循环可以去掉了。另外,for循环里的变量确实是用错了,应该把$CLASS换成$jar,但我觉得在这里这样做没必要。
3、Windows上使用eclipse编译java工程,编译完成后导出为RunnableJARFile,如MyTest.jar。Ubuntu上java环境安装:(1)到JDK官网下载linux上使用的jdk。(2)到eclipse官网下载linux上使用的eclipse。
Q5: java怎么执行shell脚本
下面说一下,如何使用process来调用shell脚本 例如,我需要在linux下实行linux命令:sh test.sh,下面就是执行test.sh命令的方法:这个var参数就是日期这个201102包的名字。
其实Runtime.exec()方法设计,可接受一个单独的字符串,这个字符串是通过空格来分隔可执行命令程序和参数的;当然也可以接受字符串数组参数。如上图所示,ProcessBuilder的方法入参是一个ListString或者多个字符串。
如果shell脚本和java程序运行在不同的服务器上,可以使用远程执行Linux命令执行包,使用ssh2协议连接远程服务器,并发送执行命令就行了,ganymed.ssh2相关mave配置如下,你可以自己百度搜索相关资料。
SHELL_FILE_DIR:要运行的脚本所在的目录; 当然你也可以把要运行的脚本写成全路径。runningStatus:运行状态,0标识正常。 详细可以看java文档。
java程序是提供了这个一方法, Process pro = Runtime.getRuntime().exec(cmds);但是一般来说,尽量去用一些其他脚本(lua,shell,python)去执行一系列linux命令比较灵活, 而且耗费资源少。
你可以增加两个进程,一个用来监视telnet的输出,另外一个用来监视是不是有错。你分析那个telnet的输出就好了。
java代码执行sh脚本的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 执行sh脚本、java代码执行sh脚本的信息别忘了在本站进行查找喔。






