java - 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
解决方案
推荐阅读
- python - 获取属性错误:模块 'mod_commands' 没有属性 'ban' - 即使我添加了它
- android - 如何在反应本机应用程序中停用或禁用屏幕保护程序?
- wireshark - Python“scapy”:假ip无法欺骗tcpdump
- sql - 如何有效刷新表数据
- javascript - 微信小程序app开启支持对话
- google-cloud-platform - 谷歌云 CDN 后端服务负载均衡器不缓存任何资源
- python - 我无法导入语音
- salt-stack - salt cmd.run 如果没有结果不返回错误:非零退出代码
- python - django.db.utils.ProgrammingError:“FUNCTION”处或附近的语法错误
- multiple-databases - CustomUser 关于单独的数据库问题