bash:在MobaXterm中运行gradle时没有findapplet

我目前正在评估MobaXterm作为我的Windows7机器上当前普通Cygwin安装的替代品。 我被卡住的一件事是运行“gradle”。 执行时,我总是得到

bash: applet not found 

其他人在移动设备和路由器上遇到类似的问题,例如:

  • http://forum.xda-developers.com/showthread.php?t=169113
  • http://comments.gmane.org/gmane.linux.busybox/35809

不知道这是如何融合在一起的,但大多数时候解决scheme都是指改变符号链接或者复制底层shell的可执行文件。 是否有人知道gradle的环境依赖关系是为了分配工人还是类似的东西?甚至有关于mobaXterm cygwin环境和纯cygwin环境之间差异的细节? Cygwin和MobaXterm在我的机器上使用相同的.bash_profile。

Thxinput! 干杯

经过MobaXterm客户服务的善意响应,我找到了一个解决方案。 这个问题是由于MobaXterm的核心命令(ls,cat,kill等等)的大部分都是在busybox的基础上构建的,它正在返回错误语句“bash:applet not found”。 (可以使用“busybox bash”命令进行转换)。

根据gradle源码,gradle unixStartScript.txt具有以下脚本序言:

 #!/usr/bin/env bash 

我发现在MobaXterm中,env命令是由sym-link表示的,正好是busybox.exe。 这似乎跟在gradle启动脚本的实际bash命令之前/解决。 什么导致

 #!/usr/bin/busybox.exe bash 

为环境准备而执行。

长话短说: 要解决此问题,请将/bin/env.exe硬链接到/bin/busybox.exe,或者简单地复制/bin/busybox.exe并将其重命名为Windows资源管理器中的env.exe,以使gradle最终运行在MobaXTerm!

干杯本