java执行服务器上的shell脚本

 

try {
            // 定义Shell脚本和参数
            String[] command = { "sh", "xxx.sh", param1, param2 };

            // 创建进程构建器
            ProcessBuilder processBuilder = new ProcessBuilder(command);

            // 设置工作目录(如果需要)
//            processBuilder.directory(new File("/path/to/your/script_directory"));

            // 启动进程
            Process process = processBuilder.start();

            // 获取进程的输出流
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                log.info("line=[{}]",line);
            }

            // 等待进程执行完成
            int exitCode = process.waitFor();

            log.info("Shell脚本执行完毕,退出代码: [{}]" , exitCode);

        } catch (Exception e) {
            e.printStackTrace();
        }

xxx.sh的路径需要写绝对路径,eg: /usr/local/xxx.sh

param1表示shell脚本里的第一个参数

param2表示shell脚本里的第二个参数

在shell脚本里面通过这样的方式获取param1和param2

#!/bin/bash

printf($1)
printf($2)

$1表示第一个参数param1

$2表示第二个参数param2

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Java中调用远程服务器Shell脚本,可以使用Java的Runtime类的exec()方法。这个方法可以让你在Java程序中执行命令。具体步骤如下: 1. 首先,确保你已经在本地和远程服务器上安装了Java环境和SSH服务。 2. 在Java程序中,使用Runtime.getRuntime().exec()方法来执行远程服务器上的Shell命令。你需要提供SSH连接的用户名、密码和远程服务器的IP地址。 3. 在exec()方法中,可以使用ssh命令来连接远程服务器,并执行相应的Shell脚本。例如,你可以使用以下命令: ``` Runtime.getRuntime().exec("ssh username@remote_server_ip 'sh /path/to/remote_script.sh'"); ``` 这个命令将使用ssh连接远程服务器,然后执行远程服务器上的Shell脚本。 需要注意的是,你需要替换命令中的"username"为你的SSH用户名,"remote_server_ip"为远程服务器的IP地址,以及"/path/to/remote_script.sh"为远程服务器Shell脚本的路径。 此外,你还可以使用SSH密钥对来进行认证,以增加安全性。详细的使用方法可以参考引用和引用所提供的链接。 希望这个回答可以帮到你。如果你还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Java代码 调用远程服务器中的Shell脚本。](https://blog.csdn.net/u010797364/article/details/109256790)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值