作者darkk6 (Mr. Pan)
看板java
标题[问题] 透过 runtime.exec 执行问题 (Mac)
时间Wed Dec 7 15:48:59 2016
不好意思我犯傻了... 我忘记在 Mac 建立 myBin/ 资料夹
大家好,想请问一下关於透过 Runtime 执行外部程式的问题
先说一下我的用法,我是用这个 method 执行:
runtime.exec( cmdArray , null , workDir )
workDir 是我拿来存放执行程式的 myBin/ (在我的执行路径下)
cmdArray 则会侦测不同的作业系统采用不同的参数,假设我要执行
ls -l 或者 Windows 底下的 dir /a
则这个 array 就会是
String[]{ "cmd" , "/c" , "dir /a" }
in Windows
String[]{ "/bin/bash" , "-c" , "ls -l" }
in Mac
问题就在於,我在 Windows 底下测试是可以正常运作
但是在 Mac 就会出现错误:
java.io.IOException: Cannot run program "/bin/bash" (in directory "myBin"):
error=2, No such file or directory
我的已经给完整路径(/bin/bash)了却还是无法执行,
而且完整路径就应该和 workDir 无关了吧?
还是我漏掉了什麽或者会错意吗? 谢谢大家~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.137.23
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1481096942.A.3DC.html
1F:→ ssccg: 直接用 bash 不行? 12/07 16:14
之前直接用 bash 不行,不过我刚刚发现我改版之後忘记建立 myBin 资料夹
所以应该问题是出在无法找到工作目录 QQ
解决了....
※ 编辑: darkk6 (122.117.137.23), 12/07/2016 16:38:47