首页 > 解决方案 > Java:通过java代码使用mysql命令执行shell脚本

问题描述

我正在尝试从我的 java 代码中执行一个 shell 脚本。shell 脚本包含一个 mysql 语句。控制台的响应是找不到该命令。

如果 shell 脚本中没有 mysql 命令,则该脚本可以正常工作。我可以毫无问题地从命令行执行 shell 脚本。java里面肯定有问题。

我的Java代码:

try {
     String[] cmd = { "sh", "./shellScript/shellScript.sh" };
     Process p = Runtime.getRuntime().exec(cmd);
     p.waitFor();
} catch (Exception e) {
     e.printStackTrace();
}

我的外壳脚本:

#!/bin/sh
mysql -u "..user.." "-p..p.." "..db.." < "file.sql" > output.txt    

我希望文件被执行,但控制台正在返回命令:

./shellScript/shellScript.sh: line 3: mysql: command not found

标签: javamysqlshell

解决方案


推荐阅读