我目前正在评估MobaXterm,以替代当前在Windows7计算机上安装的普通Cygwin。我遇到的一件事是运行“渐变”。执行时我总是得到

bash: applet not found

其他人在移动设备和路由器上的命令也有类似的问题,例如:
  • http://forum.xda-developers.com/showthread.php?t=169113
  • http://comments.gmane.org/gmane.linux.busybox/35809

  • 不知道这是如何组合在一起的,但是大多数解决方案都涉及更改符号链接(symbolic link)或在底层shell的可执行文件周围进行复制。有人知道gradle用于 fork worker /重做之类的东西的环境依赖性吗,甚至没有详细说明mobaXterm cygwin环境与纯cygwin环境之间的区别? Cygwin和MobaXterm在我的计算机上使用相同的.bash_profile。

    输入Thx!
    干杯

    最佳答案

    经过MobaXterm客户服务的热烈响应,我找到了解决方案。问题是由以下事实引起的,即MobaXterm的大多数核心命令(ls,cat,kill等)都建立在busybox上,该busbox返回所提及的错误语句“bash:未找到applet”。 (可以使用命令“busybox bash”进行复制)。

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

    #!/usr/bin/env bash
    

    我发现在MobaXterm中,env命令由指向完全busybox.exe的符号链接(symbolic link)表示。在gradle start脚本的实际bash命令之前,似乎已经遵循/解决了该问题。什么导致
    #!/usr/bin/busybox.exe bash
    

    为执行环境准备而执行。

    长话短说:要解决此问题,请将/bin/env.exe设置为/bin/busybox.exe的硬链接(hard link),或者简单地将/bin/busybox.exe复制并在Windows资源管理器中将其重命名为env.exe 以获取优先权终于在MobaXTerm中运行!

    干杯

    08-27 02:51