我试图在使用JSch的java中获取shell脚本的输出。执行sudo管理命令并获取脚本的输出。仅在JSch shell通道中获取特定命令的输出

Properties prop = new Properties();

InputStream input = null;

String host="myhost";

StringBuilder command1= new StringBuilder();

String userName = "root";

String password="password";

try{

JSch jsch = new JSch();

Session session = jsch.getSession(userName, host, 22);

session.setPassword(password);

session.connect();

System.out.println("Connected");

List commands = new ArrayList();

commands.add("ls");

commands.add("sudo myadmincmd");

commands.add("cd /logs");

commands.add("my script...");

Channel channel = session.openChannel("shell");

channel.connect();

channel.setOutputStream(System.out);

OutputStream os = channel.getOutputStream();

PrintStream shell = new PrintStream(os, true);

for (String cmd : commands) {

shell.println(cmd);

try {

Thread.sleep(2000);

}

catch (Exception ee) {

}

}

shell.println("exit");

shell.close();

channel.disconnect();

session.disconnect();

}catch(Exception e){

e.printStackTrace();

}

输出:

*ADMINSHELL* :/home/abcd # cd /logs

*ADMINSHELL* :/logs #

*ADMINSHELL* :/logs # my script...

....

output goes here...

....

我怎样才能得到只有这ADMINSHELL的输出?例如,我只需要最终输出。我试着用下面的支票,

for (String cmd : commands) {

if(cmd.startsWith("for script")){

shell.println(cmd);

}

try {

Thread.sleep(2000);

}

catch (Exception e) {

}

}

但是这次我得到了一些权限被拒绝的问题。我只需要最后脚本的输出。

....

output goes here...

....

2016-08-11

NaaN

java jsch shell_仅在JSch shell通道中获取特定命令的输出相关推荐

  1. shell 脚本中获取执行系统命令的输出结果

    这个主要介绍的方法是获取命令的输出内容,而不是命令执行成功与否的返回值. 通常情况下,在shell脚本中需要获取命令的输出内容,然后根据输出内容判断下一步的执行操作. 比较常用的一种方式就是, 匹配命 ...

  2. shell脚本中获取当前所在目录地址

    shell脚本中获取当前所在目录如下 #!/bin/bashwork_path=$(dirname $0) cd ${work_path} work_path=$(pwd) cd ${work_pat ...

  3. Linux课程---7、shell技巧(获取帮助命令)

    Linux课程---7.shell技巧(获取帮助命令) 一.总结 一句话总结: ls --help:简单手册 man ls:内容手册 1.tab补全? 命令+tab:加快敲命令敲文件目录的速度,多敲几 ...

  4. 在 Shell 脚本中跟踪调试命令的执行

    文章目录 shell 脚本调试系列 概述 shell 跟踪执行的重要性 shell 脚本调试系列 本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的 ...

  5. Shell脚本中循环select命令用法笔记

    在Shell脚本中,select命令是一种菜单扩展的循环方式. 语法结构如下: select Menu in (list) do command done 说明:当程序运行到select语句时,会自动 ...

  6. Shell脚本中获取命令运行结果、特殊变量使用、条件判断等常用操作

    文章目录 前言 获取命令执行结果 使用反引号 `` ` ``command `` ` ``来执行命令 使用括号组合 $(command) 来执行命令 两种方式的区别 特殊变量使用 $0 $1 $2 . ...

  7. linux shell 获取当月第一天与最后一天,扣丁学堂Linux培训简述在shell脚本中获取上个月最后一天的日期方法...

    本篇文章扣丁学堂Linux培训小编给读者们分享一下在shell脚本中获取上个月最后一天的日期方法,对Linux开发感兴趣的小伙伴就随小编来了解一下吧,希望对小伙伴们有所帮助. Linux中用date命 ...

  8. centos7 shell 获取ip_Linux Shell脚本中获取本机ip地址方法

    方法一:ifconfig -a ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "a ...

  9. Shell脚本中获取本机ip地址,Linux获取本地ip地址

    在 Shell 脚本中获取本机 IP 地址可以通过多种方式实现,这里介绍三种常用的方法: 1. 使用 ifconfig 命令获取本机 IP 地址 ifconfig 命令可以获取本机网卡的配置信息,包括 ...

最新文章

  1. 机器学习是深度学习之母
  2. : Andorid的Linux基础教学之五 中断机制
  3. SUDO的环境变量为何不同?
  4. 笔记-项目沟通管理-沟通基本原则
  5. javascript 中的innerHTML的用法
  6. 【渝粤教育】电大中专建筑材料 (3)作业 题库
  7. mysql stdistance_postgis的geography_columns和geometry_columns有什么区别
  8. Socket编程实践(6) --TCP服务端注意事项
  9. linux下caffe-ssd在cuda10+python3.6下编译,训练VOC数据集和测试
  10. Android binder机制---概述
  11. 区分 点操作符+属性名 和 getAttribute()
  12. path和classpath的区别
  13. 两转变两服务器,两大服变鬼两老服制霸,《魔兽世界》怀旧免转结束后的服务器调查...
  14. “差不多先生”姚劲波和不再神奇的58同城
  15. 禁止服务器windows的自动更新,Windows Server2016等服务器禁止自动更新及更新后自动重启的方法...
  16. 栈区的使用规则、压栈和出栈、栈区先进后出,后进先出
  17. 网页前往小程序指定页面
  18. 关于Android 在线预览PDF文件
  19. NOIP切题注意事项
  20. anacnda和pycharm的一些配置上的事情

热门文章

  1. weblogic安装错误BEA-090870解决方案
  2. 亿级规模的Feed流推荐系统,如何轻松设计?
  3. 搜索算法-搜索的优化
  4. 冯仕堃:预训练模型哪家强?百度知识增强大模型探索实践!
  5. ​对比学习还能这样用:字节推出真正的多到多翻译模型mRASP2
  6. 平流式隔油池计算_隔油池计算方法及图集[参考提供]
  7. 压缩pdf大小_PDF压缩到指定大小该怎么操作?分享完成PDF压缩超好用的方法
  8. easyui table 如何只展示一条_如何使用MySQL,这些操作你得明白!
  9. 漫谈广告竞价模式(四)
  10. 从 重复叠加字符串匹配 看Java String源码中的contains方法