当前位置: 首页 > news >正文

ProcessBuilder调用脚本执行

最近在搞一些topic,需要用到ProcessBuilder去执行shell脚本,结果一直失败,报错如下:

/bin/bash: wget: command not found

贴上原先代码:

 ProcessBuilder pb = new ProcessBuilder("/bin/bash","-c",command);pb.redirectErrorStream(true); // 合并错误流到标准输出流Process process = pb.start();BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));String line;StringBuilder sb = new StringBuilder();while ((line =reader.readLine()) != null) {sb.append(line);}int exitCode = process.waitFor();

以上代码执行后报错。

排查思路:

1./bin/bash有问题,终端执行命令:echo $SHELL

我的命令行输出如下:/bin/zsh,修改ProcessBuilder的入参改为”/bin/zsh“,继续执行,报错。

2.ProcessBuilder有问题?尝试debug,发现命令传入没问题,问题还是回到/bin/bash

3.wget已经安装了,再命令行执行脚本毫无问题,但是到ProcessBuilder就报错。最后解决办法如下:

在终端执行如下命令行: which wget https:xxx,执行后输出"/usr/local/bin/wget"

修改ProcessBuilder的入参为/usr/local/bin/wget

基础用法:Java ProcessBuilder|极客教程

  


http://www.mrgr.cn/news/69100.html

相关文章:

  • JavaScript 中的 filter 函数
  • Android音视频直播低延迟探究之:WLAN低延迟模式
  • 【操作系统】每日 3 题(二十四)
  • 使用OpenCV(C++)通过鼠标点击操作获取图像的像素坐标和像素值
  • Jmeter基础篇(22)服务器性能监测工具Nmon的使用
  • 038 进程线程
  • Qt使用属性树(QtProPertyBrowser)时,引用报错#include “QtTreePropertyBrowser“解决方案
  • 星期-时间范围选择器 滑动选择时间 最小粒度 vue3
  • 浅谈web性能测试
  • 智能问答系统流程详解:多轮对话与模型训练的技术要点及案例
  • Unet++改进11:添加MLCA||轻量级的混合本地信道注意机制
  • Linux可视化工具cockpit
  • tar | 打包 | 压缩 | 文件搜索 | 常用命令(二)
  • 浮点数转4字节数组在线转换工具
  • Python内置函数1详解案例
  • Python 基础语法 二维列表
  • Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行电源阻抗仿真分析操作指导(一)-无电容
  • 【贪心】【哈希】个人练习-Leetcode-1296. Divide Array in Sets of K Consecutive Numbers
  • 国内AI工具复现GPTs效果详解
  • Rust项目中的Labels
  • 程序开发时单数复数及前缀的命名规范(目录名、文件名、函数名、变量名、数据库字段等)
  • ONLYOFFICE 8.2深度测评:集成PDF编辑、数据可视化与AI功能的强大办公套件
  • Chromium 中chrome.system.memory扩展接口定义c++
  • AWTK fscript 中的 日期时间 扩展函数
  • 2024年软件设计师中级(软考中级)详细笔记【12】软件系统分析与设计
  • mysql备份数据库及恢复