我想在本地目录中找到包含word:
的文件fgrep word *
我不明白我怎么能得到这个例外:fgrep: *: No such file or directory
更新:
我从java运行此代码:
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(command);
当我尝试命令ls
时一切正常
答案 0 :(得分:0)
您可以保存此脚本:
#!/bin/bash
fgrep word *
然后更改权限
chmod +x myscript.sh
使用runtime.exec("myscript.sh");
或者...... 更好解决方案:编写一个java函数,遍历目录中的所有文件并调用runtime.exec("fgrep word " + filename);
或者...... 更好的解决方案:根本不要使用fgrep
并执行所有search stuff with java
答案 1 :(得分:0)
ProcessBuilder也适用:
ProcessBuilder pb = new ProcessBuilder("bash", "-c", command);